Быстрое сворачивание 1С 77 ТиС (от 10 до 40 минут) независимо от размера ИБ.

15.11.14

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

Хотя большинство пользователей перешло на 1С 8ХХ, но есть еще очень много торговых организаций до сих пор эксплуатирующих 1С 77 ТиС. И пока еще не собираются переходить на новую платформу, а свертку делать надо. Есть много решений, я решил поделиться своим. Основное отличие:
1. Универсальность
2. Быстрота
3. Свертку можно делать на любую дату (не обязательно на начало года)

Скачать файл

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

Наименование По подписке [?] Купить один файл
1cv7.md
.zip 12,70Kb
125
125 Скачать (1 SM) Купить за 1 850 руб.

Предисловие:

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

Содержимое архива:

1. Конфигурация 1cv7.md содержит три объекта - 1. Документ "ОстаткиПоРегистру", 2. Журнал "КорректировкаРегистров", 3. Обработка "СформироватьОстаткиПоРегистрам"

Итак откройте конфигурацию и загрузите эти три объекта в свою, далее запустите 1С Предприятие и выполните обработку "Сформировать остатки по регистрам". Обработка предложит выбрать вид операции:

1 - Сформировать остатки по регистрам на указанную дату (будут сформированы документы "ОстаткиПоРегистру")

2 - Пометить документы на удаление до указанной даты (включительно)

3 - Включить движений по регистрам для документов "ОстаткиПоРегистру"

Для начала укажите вид операции "1", дождитесь выполнение обработки, после закройте 1С и откройте Total Commander, найдите папку ИБ и удалите все файлы по маске RA*.*, RG*.*, тем самым мы сэкономим скорость удаления документов.

Вновь запустите 1С и переустановите ТА на начало века и вызовите обработку, но теперь вид операции укажите "2". Дождитесь исполнения (минут 5-10). Опять установите ТА на дату свертки и опять вызовите обработку (вид операции "3"). И наконец вызовите стандартную операцию "Проведение документов" и перепроведите все "проведенные" документы от даты свертки до текущей даты, дождитесь исполнения (15-20 минут). Свертка готова, последнее что нужно сделать это удалить помеченные документы.

Кстати перепровдение документов необходимо только есть после даты свертки есть проведенные документы (например, если вы сворачиваете ИБ не начало года).

Вот и все, таким способ постоянно сворачиваю ИБ размером 12 Гб. Забыл сказать, что ИБ если SQL вариант нужно выгрузить в файловый вариант и после свертки обратно загрузить в SQL.

P.S.

За основу была взята идея не помню какого автора. Что было доработано: в документе "ОстаткиПоРегистру" увеличил количество реквизитов "Измерения","Ресурс" до 5-ти. Для реквизита "Ресурс" увеличил длину до 19 и точность до 5 (в типовой ТиС есть регистр "ОстаткиТМ" у которого точность после запятой "5"). Также изменил строку:

"НазначитьТип("Измерение" + Сч, СокрЛП(ИзмТип[сч]));" на "НазначитьТип("Измерение" + Сч, СокрЛП(ИзмТип[сч]), СокрЛП(ИзмДлина[сч]), СокрЛП(ИзмТочность[сч]));"

Вроде бы мелочь, но когда сворачиваешь большие ИБ любая мелочь вызывает трудно отслеживаемые ошибки.

Удачи всем!

Свертка ТиС Быстро

См. также

Свертка базы Чистка данных Перенос данных 1C Системный администратор Программист Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Приводится порядок действий для создания новой информационной базы на основе имеющейся файл-серверной "Торговля и Склад" ред.9.2, для учёта с нуля. В новую базу выполняется перенос справочников и остатков номенклатуры. Журналы документов, данные регистров, долги контрагентов, партии очищаются.

1 стартмани

14.01.2022    6451    6    etmarket    3    

4

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

Имеется база 7.7, которую хочется свернуть. Но в процессе свертки могут съехать остатки. Для проверки нужно сравнить остатки на дату свертки.

1 стартмани

20.06.2016    18500    2    pentanom    1    

2

Свертка базы Чистка данных Бухгалтер Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Бухгалтерский учет Абонемент ($m)

Удаляет проводки(корреспонденцию) по выбранным счетам за выбранный период. Работает с забалансовыми счетами. Выбор условия соответствия вхождения счетов в корреспонденцию (и / или).

1 стартмани

06.01.2014    19858    11    by_1Cnik    8    

3

Свертка базы Системный администратор Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

По статье "Зачем в 1С нужно периодически пересчитывать итоги по регистрам?" http://infostart.ru/public/177171/ Обработка для 7.7, файловая, только для специалистов. Никаких гарантий и возмещений. Работает только в разделенном режиме (прямой запрос VFP). После выполнения - в обязательном порядке ТиИ (только упаковка), После ТиИ в обязательном порядке - принудительно переиндексировать. Родственная разработка для SQL: http://infostart.ru/public/177579/

8 стартмани

28.03.2013    72624    101    CheBurator    14    

15

Свертка базы Чистка данных Системный администратор Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

Берем 2 базы старую и новую, новая это точная копия старой, только с подчищенными файлами d*.dbf, r*.dbf Запускаем в старой обработку, ждем 15 минут и радуемся! Только не забудьте в новой провести ручками документы (операции - проведение документов) Сворачивает остатки по фирмам и складам в усредненной себестоимости(считает по принципу отчета остатки ТМЦ), делает вводы остатков в базе к которой коннектимся И сворачивает всю дебиторскую и кредиторскую задолженность по Фирмам без детализации кредДокумент. Обновление от 12.02.13 появилась возможность сворачивать дебиторку в разрезе кред документа+переносит долги по комиссионерам. Не знаю как вам, а на мой взгляд более простого и работоспособного я тут просто не нашел!!!

1 стартмани

02.01.2013    23739    181    zoeh    8    

10

Свертка базы Перенос данных 1C Программист Платформа 1С v7.7 Конфигурации 1cv7 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Обработка предназначена для переноса данных из Рарус 2.5 магазина на платформе 7.7 в Розницу ред. 1 на платформе 8.2. Перенос осуществляется с помощью OLE. Переносимые данные: Номенклатура(ед., штрих-коды), Документ ввода остатков и цены номенклатуры (после закрытия торгового периода).

1 стартмани

08.10.2012    22437    48    pervanax    5    

1

Свертка базы Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Управленческий учет Абонемент ($m)

Свертка данных на определенную дату, без изменения в конфигурации.

1 стартмани

03.09.2012    20466    153    Tarlich    6    

16

Свертка базы Системный администратор Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Россия Абонемент ($m)

sql скрипт обрезки баз 1с 7.7, работающих на компоненте бух. учет для sql-формата

2 стартмани

08.06.2012    22979    65    nilabs    7    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kompas-dm 781 15.11.14 09:39 Сейчас в теме
2. SiAl 76 16.11.14 16:29 Сейчас в теме
"Забыл сказать, что ИБ если SQL вариант нужно выгрузить в файловый вариант и после свертки обратно загрузить в SQL."

Я так понимаю это связано с тем, что
после закройте 1С и откройте Total Commander, найдите папку ИБ и удалите все файлы по маске RA*.*, RG*.*, тем самым мы сэкономим скорость удаления документов.

Советую автору выучить язык SQL в плане конструкции DROP TABLE.
Может сама свертка работает и быстро, но сколько времени уходит на ТИИ, выгрузку из SQL в DBF и обратно? Сколько занимает перенос ТА с проведением документов?
3. etmarket 911 16.11.14 17:20 Сейчас в теме
Несомненно есть минусы - все-таки много действий вручную. Но показатель - 10-40 минут для базы в 12 Гб, очень неплох!
4. wolfsoft 2421 19.11.14 11:10 Сейчас в теме
У меня была похожая полу-универсальная свёртка регистров, в принципе, для любой конфигурации. Только не публиковал, потому как "полу" :)
5. ITEkb 20.11.14 15:17 Сейчас в теме
Как раз подобной сейчас базу сворачиваю.
Из идей, что можно добавить:
Выбор для каких регистров какие реквизиты не включать в свертку.
К примеру, у меня у меня долг формируется с указанием документа, а закрывается другим документом.
Ваш вариант схлапывает по документам, получается много ссылок на прошлый период, от которого избавляемся.
Приходится эти документы тянуть.
Сделал так, что Если вид регистра "Покупатели", Значение "КоррДокумент" в определении остатков не участвует.
Без учета документов Записей регистра остатков стало гораздо меньше, и бухгалтерию в принципе устроило.
Так же для поставщиков и прочих регистров.
Понимаю, что это больше в адрес предприятия, где так криво придумали закрывать документы.
Но мне встречается не первый раз.

В остальном хорошо придумано.
6. SvSoft 80 24.11.14 08:35 Сейчас в теме
(0) А как насчет партий ТМЦ, периодики (цены, единицы)???
7. st8899 06.02.15 16:33 Сейчас в теме
на этапе "2" на каждом месяце спрашивает по 10-100 документам, удалить подчиненные или нет! Не понятно что жать да или нет!
На этапе"после этапа 3, проводим все "проведенные документы", выдает ошибку:
На документ Строка выписки банка (приход) тт00014010 (28.12.2012) не зарегистрирован счет - фактура!
На документ Строка выписки банка (приход) тт00014021 (28.12.2012) не зарегистрирован счет - фактура!
Проведение документа: 31.01.2014 Запись книги покупок тг00000001
Документ - основание не проведен!
Документ не проводится!

Свертка делалась на 1 января 2013г, ТА 6 февраля 2015г. База ведется с 2006г.
Вот такие пироги... обработка не рабочая, не тратьте время и деньги зря...!
8. TitouClair 16.02.17 14:40 Сейчас в теме
(7)На этапе 2 при удалении документов получаю ошибку
ЗафиксироватьТранзакцию();
{Обработка.СформироватьОстаткиПоРегистрам.Форма.Модуль(206)}: Ошибка при выполнении процедуры ЗафиксироватьТранзакцию
Пришлось сделать без транзакций.

Но больше удивило, что дата выборки документов по конец года указанной даты - это зачем?
Хотел свернуть базу на 01.01.15, удалились все доки за 15-ый год.
9. TitouClair 16.02.17 18:43 Сейчас в теме
Не учтено максимальное кол-во строк табличной части в 9999 строк. В результате док ОстаткиПоРегистрам не проводится, 1С падает с сообщением о нехватке оперативы на ПК.
10. CheBurator 2712 16.02.17 23:57 Сейчас в теме
(9) этого недостатка лишен использованные мной и доработанные документ "Универсальный двигатель объектов". Для свертки пользуюсь им. Полностью автоматической нет, в полуавтомате. Создал документ. Выбрал какой регистр свернуть. Получил совокупность документов, разбитую на обозримые порции в каждом документе. скорость в основном определяется скоростью сворачивальщика по указанию какие регистры сворачивать и удалением ненужных документов. 8 Гиг ТиС свертывается неспешно за час-полтора-два, сперерывами на кофе. если надо быстро - то сесть и свернуть без перерывов займет те же самые 40 минут-час.
11. TitouClair 17.02.17 07:24 Сейчас в теме
(10)можете поделиться? Мне этого будет достаточно. Хотя я, наверное, и в данный метод разделение на части вставлю.
17. CheBurator 2712 17.02.17 12:16 Сейчас в теме
18. корум 288 17.02.17 12:23 Сейчас в теме
(17) ну ты жадина, хоть бы ссылку на нормально работающую приблуду на инфостарте выложил.

Смотри, тут теперь ВНЕЗАПНО кнопка "пожаловаться" появилась.

Накропают донос на тебя, как упёртого кулака-единоличника.
20. корум 288 17.02.17 13:50 Сейчас в теме
(11) лови бесплатное.
http://infostart.ru/public/13982/
(19) ну недописал автор нумерацию после того, как ему про 9999 строк указали.
21. TitouClair 17.02.17 14:14 Сейчас в теме
(20)благодарю. я уже и эту допилил. Не зря ж покупал. Но на всякий и ту схороню.
12. TitouClair 17.02.17 10:35 Сейчас в теме
Что ж вставил проверку на кол-во строк в текущем документе, наткнулся на еще одну особенность:
номер документа дается по индексу регистра в метаданных.
опять же, зачем? Это где-то решает проблемы с нумерацией документа?
У меня получилось так, что документ по первому регистру содержит более 50000 строк. После моей правки док разбивался на 6 документов по 9999 строк. А этот способ нумерации оставляет тч только у первого документа, а остальные очищает, т.к. их номер соответствует индексу следующих регистров.
16. CheBurator 2712 17.02.17 12:14 Сейчас в теме
19. TitouClair 17.02.17 12:52 Сейчас в теме
(16)Что именно бред? Способ нумерации, который сделан в обработке? Согласен, бред. Но факт, там сделано именно так:


Для к = 1 По Метаданные.Регистр() Цикл
...
ОбработатьРегистр(к, ИмяРегистра);
...


Процедура ОбработатьРегистр(ИндексРегистра, ИмяРегистра)
КР = СоздатьОбъект("Документ.ОстаткиПоРегистру");
Если КР.НайтиПоНомеру(ИндексРегистра, КонДата) = 0 Тогда
КР.Новый();
КонецЕсли;
...
КР.УдалитьСтроки();
13. TitouClair 17.02.17 10:37 Сейчас в теме
О, ну класс, а еще время у документа не ставится в 0:0:0, как это указано в обработке

КР.УстановитьВремя(0, 0, 0);
КР.Записать();

не работает.
Прежде, чем установить время необходимо записать документ.

Т.о. универсальность обработки все же сомнительна. Доработка еще требуется.
14. корум 288 17.02.17 11:37 Сейчас в теме
свертку лучше брать испытанную на кошках, с публикацией 2006-2008 года.
15. Probot1c 17.02.17 11:47 Сейчас в теме
Ого! 10-40 минут! Звучит очень впечатляюще! у меня обычно около 2х часов уходило...
22. dnikolaev 179 12.07.17 18:39 Сейчас в теме
Неплохо. то что надо. спасибо. очень неплохой универсальный полуфабрикат. помогло
23. nameslav 26.04.19 02:34 Сейчас в теме
Всё хорошо, реально быстро работает. Но как вы решаете проблему с "Прграмме не хватает оперативной памяти компьютера" ?
У меня на остатках по покупателям обработка выдает примерно 280 тысяч строк в документ. Само собой документ не проводится с ошибкой на нехватку памяти ! Это у меня еще 1С пропатчена до 4 Гб ОЗУ ...
24. CheBurator 2712 27.04.19 09:06 Сейчас в теме
(23) у меня свертка работает тоже быстро. я ограничился 2000 строк в документ, при превышении автоматом разбивается на доки по 2000 строк
26. nameslav 04.05.19 09:26 Сейчас в теме
(24)Я нашел способ получше. При создании строк по Покупателям я на этом склад документов прекратил. Удалял старые доки в ручную, и проводил в ручную Начальные остатки на этом изобретенном документе. Кроме остатков по Покупателям. Эти остатки ввёл через другую обработку - она кстати меньше строк рожает и само-собой меньше места в базе оставляет при том же начальном остатке.
Её наименование 13982_Obrabotka_Svertka_ostatkov_TiS_9.hh_.ert - она есть в Инфостарте под этим цифровым номером...
25. nameslav 04.05.19 09:25 Сейчас в теме
Я нашел способ получше. При создании строк по Покупателям я на этом склад документов прекратил. Удалял старые доки в ручную, и проводил в ручную Начальные остатки на этом изобретенном документе. Кроме остатков по Покупателям. Эти остатки ввёл через другую обработку - она кстати меньше строк рожает и само-собой меньше места в базе оставляет при том же начальном остатке.
Её наименование 13982_Obrabotka_Svertka_ostatkov_TiS_9.hh_.ert - она есть в Инфостарте под этим цифровым номером...
27. NanotekR 23.01.21 22:47 Сейчас в теме
Для начала укажите вид операции "1", дождитесь выполнение обработки, после закройте 1С и откройте Total Commander, найдите папку ИБ и удалите все файлы по маске RA*.*, RG*.*, тем самым мы сэкономим скорость удаления документов.

Потом при запуске ругается что файл не найден и базу не запускает
Оставьте свое сообщение