Свернуть базу и не свернуть себе шею

Публикация № 1499826 18.08.21

Администрирование - Администрирование данных 1С - Свертка базы

Текст из серии «Письма клиентам», на тему «Свёртка информационной базы»

Текст из серии «Письма клиентам», на тему «Свёртка информационной базы». Несмотря на инженерную простоту свёртки, клиенты, в большинстве случаев, неверно понимают её назначение. В этом им помогают менеджеры по продажам, которые слушают, кивают головой и записывают в блокнот пожелания клиента. Подливают масла в огонь слесаря 1С, которые, попробовав применить типовую свёртку и не получив результата за приемлемое время, выносят вердикт: свёртка невозможна. Так появляются задачи «поставьте нам чистую базу и перенесите туда остатки».

Что делает свёртка?

Как сказано выше, свёртка – очень простая в инженерном плане операция. Она делает следующее:

1. Берёт текущие остатки по регистрам и вводит их заново на дату свёртки;

2. Распроводит и помечает на удаление все документы до даты свёртки;

3. Удаляет документы до даты свёртки, какие сможет.

Некоторые обработки, в т.ч. типовые, дополняют этот список какими-то опциями. Например, свёртка в ЕРП утверждает, что умеет удалять неиспользуемые элементы справочников. Свёртка в БП3 говорит, что может проверить введённые остатки – сверить их с существующими, где-то между пунктами 1 и 2.

Но в целом, свёртка делает три указанных шага.

Зачем делать свёртку?

Любое действие в информационной делается для того, чтобы что-то в ней изменить. Что изменится после свёртки?

Смотрим ещё раз на 3 шага и думаем. Остатки у нас не изменятся – они «перевводятся» «как есть». Но: остатки будут удобненько лежать в виде специальных документов (ручных операций, корректировок регистров). Соответственно, их значительно проще исправлять, если есть такая потребность. Станет сильно меньше данных в некоторых таблицах – документы до даты свёртки и их движения по регистрам исчезнут. Соответственно, уменьшится физический размер базы.

Итак, каких приличных целей поможет добиться свёртка:

1. Уменьшить размер информационной базы;

2. Получить более удобный инструмент корректировки остатков;

3. Удалить из базы документы, которые мы, по каким-то причинам, не хотим видеть (показывать).

Это – приличные цели. Есть и неприличные.

Чего свёртка не сделает

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

Как правило, он думает, что свёртка исправит ошибки в учёте. Чаще всего такой запрос приходит от клиентов, которые внедряли-внедряли, потом «всё поняли», и теперь им надо исправить ошибки прошлого. Особенно в современных конфигурациях, вроде ЕРП, КА2 или УТ, где через несколько релизов разработчики «всё поняли», бросили один регистр и стали использовать другой.

В регистрах накапливается масса ошибочных данных – минусов, неверных значений измерений, дублей производных справочников и т.д. Избавиться от всего этого обычными средствами клиенту не представляется возможным, и он сам себя накручивает на тему «свёртка всё исправит». Поймёт, где что не так, удалит кривизну, схлопнет дубли и приберёт за шкафом.

Так вот – не исправит. Смотрим п.1 из действий свёртки: остатки будут ровно такими же, просто слягут в один документ.

В каких конфигурациях есть свёртка?

Нужно проверять, т.к. всё меняется и развивается. Например, ещё недавно в ЕРП и КА2 не было свёртки, а теперь появилась. Как правило, обработка свёртки лежит прямо в конфигурации. Есть универсальные, подходящие под разные конфигурации.

На момент написания публикации свёртка точно есть в УТ 10.3 и УПП, ЕРП и КА2, БП2 и БП3. В ЗУПе вроде до сих пор нет.

Всё или ничего

Обработки свёртки в современных конфигурациях устроены, как правило, по принципу «всё или ничего». Они сворачивают или всё сразу – все документы и регистры – или ничего. Раньше – в той же УПП – свёртка настраивалась более гибко, индивидуально для каждого документа и регистра.

Причины вижу две.

Первая – разработчики свёртки понимают, что раньше эту операцию выполняли программисты, а теперь – пользователи и слесаря. Программист мог разобраться, какой регистр можно оставить несвёрнутым (в справке к свёртке были написаны толковые рекомендации на эту тему). Пользователь и слесарь, разумеется, этого сделать не смогут.

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

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

Примерный алгоритм выполнения типовой свёртки

Главное – не делать свёртку сразу в рабочей базе. Можно натолкнуться на массу неприятностей, от ошибок СУБД до падения из-за доработок, сделанных каким-нибудь пытливым слесарем.

Делаем копию базы, засекаем время, запускаем свёртку. Ключевое значение имеют шаги 1 и 2 – ввод новых остатков и распроведение документов. Мысленно их можно объединить в один этап, т.к. нельзя сделать шаг 1 и не сделать шаг 2 – остатки задвоятся. Шаг 3 (удаление помеченных документов) можно сделать и потом.

Если свёртка прошла успешно – смотрим, сколько она заняла времени. Варьируется обычно от нескольких часов до нескольких суток. Примерно столько же времени займёт свёртка рабочей базы (если делали на идентичном или том же самом оборудовании). Во время свёртки в базе не должно быть пользователей. Теоретически, свёртка не требует монопольного режима, но, если в базе будут работать люди, может случиться конфуз, или целый их фейерверк.

Например, будут возникать конфликты блокировок. Если отвалится у пользователя – фиг с ним, переживёт. Если упадёт свёртка – намного хуже. Она, как правило, не умеет остановиться и продолжить с того же места – тот самый принцип «всё или ничего». Ещё могут возникнуть ошибки в данных, т.к. в процессе свёртки остатки будут бешено скакать – можно списать то, чего нет, и уйти в минус.

Если время свёртки меньше 12-16 часов, можно провернуть дело ночью. Если пара суток – в выходные. Если неделю – ждите новогодних каникул.

Да, разумеется, перед выполнением свёртки нужно сделать бэкап. Если придёте утром и обнаружите, что свёртка упала – например, из-за отключения электричества – сможете восстановить базу из бэкапа.

Свернуть за ночь или выходные обычно получается что-нибудь вроде БП3 или КА2. Большие системы, вроде УПП или ЕРП, в которых несколько лет вели учёт, за приемлемое время свернуть не получается. Точнее так: нет возможности остановить работу на такое время, которое требуется для свёртки.

В таких случаях нужна итерационная свёртка. Есть несколько алгоритмов её выполнения.

Типовая итерационная свёртка

Самый простой вариант, для ленивых. Например, учёт ведётся с 2010 года, а свернуть хочется на начало 2020 года, но замер показал, что требуется 2 недели.

Можно сворачивать по одному году. Сначала на начало 2011 года, потом на начало 2012 года и т.д. Типовая свёртка такие штуки нормально переваривает. Она будет каждый раз создавать новые остатки, убивать предыдущие, распроводить документы и помечать их на удаление.

Если свёртка одного года тоже идёт непозволительно долго, можно сворачивать по месяцам. Тоже относительно приемлемый вариант.

Итерационная свёртка по регистрам

Это уже нетиповой вариант, придётся программировать. Хотя, программирование достаточно простое.

Нужно написать обработку, которая будет сворачивать конкретный регистр. Действия она должна делать два:

1. Вводить остатки по регистру, как это делает типовая свёртка;

2. Удалять движения по этому регистру у всех документов до даты свёртки.

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

Итерационная чистка

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

Физический размер базы складывается из размеров таблиц – справочников, документов, регистров, виртуальных таблиц (остатки, обороты). Свёртка удалит документы и движения по регистрам. Но может статься, что главные пожиратели дискового пространства сидят в другом месте.

Увидеть размеры таблиц очень просто. Надо или найти готовую обработку, или написать свою – платформа научилась показывать физический размер таблиц. И от полученных данных плясать – удалять целенаправленно то, что занимает больше места.

Я приведу несколько примеров таблиц, которые на практике оказывались самыми большими. Сократить их размер поможет программист, и сделает это без свёртки.

Присоединённые файлы и картинки. Частенько бывает: кто-то когда-то решил загрузить кучу файлов, сделал это, а потом сел думать – а нафига? Так и не придумал, а файлы остались. Например, присоединённые файлы документов того периода, который собирались свернуть.

Версии объектов (например, в УПП это регистр сведений). Там может лежать по 20-50 версий каждого документа того периода, который всё равно собирались свернуть. По размеру эти данные могут занимать десятки гигабайт.

Виртуальные остатки незакрываемых регистров накопления. Это когда приход делается по одному набору аналитик, а расход – по другому. Например, в регистре накопления «Заказы поставшикам» есть измерение «Цена». Если заказывать по одной цене, а приходовать по другой, то виртуальная таблица остатков начнёт быстро пухнуть. Ещё такое случается, когда какой-то функционал используется наполовину – приход делается, а расход нет. Например, если в УПП не рассчитывать себестоимость, то регистры «УчетЗатрат» и «УчётЗатратРегл» быстро распухнут от накопленных затрат. То же касается регистров НДС. Ну и отдельно отмечу архитектурные ошибки доработок – увы, пухнущие регистры накопления, добавленные слесарями, встречаются довольно часто.

Дикие табличные части. Это, как правило, следствие доработок «высокого уровня» - например, когда делают планирование. Загоняют 10 000 строк в табличную часть какого-нибудь самописанного документа, вроде «Дефициты производства» или «Позиции к заказу», и пишут регламентное задание, создающее такой документ каждый день. Вот оно и копится.

И т.д. Алгоритм очистки простой: определяем размеры таблиц, выбираем «жертву», пишем обработку устранения, выполняем и смотрим, что получилось. Возможно, до свёртки дело не дойдёт.

Удалите всё!

И напоследок – самая часто встречающаяся причина свёртки. Надо полностью удалить все документы, их движения и «следы» за определённый период. Честно не знаю, зачем это делается, но раз надо – значит надо.

Алгоритм простой:

1. Делаем типовую свёртку;

2. Вычищаем, что осталось;

3. Удаляем следы.

По трудозатратам (и бюджету) тут работает принцип Парето: 20% на свёртку, 80% на вычистку и удаление следов.

Сначала вычищаем. Типовая свёртка всегда оставляет неудалёнными кучу первичных документов, потому что на них есть ссылки – или в последующих документах, или в остатках регистров. Принципиально есть три подхода к вычистке.

Первый – удаление без контроля ссылочной целостности. Это когда прям срочно надо. В остатках и последующих документах остаются оборванные ссылки («Объект не найден…»), с которыми потом придётся разбираться – они будут приводить к ошибкам в работе.

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

Третий – персональная чистка каждого вида документов. Пишем обработку, которая выведет все документы сворачиваемого периода и считает их количество. Берём самый часто встречающийся и ищем, где на него лежат ссылки. Обычно это какое-то одно место – например, остатки конкретного регистра. Идём и пытаемся понять, нафига этому регистру ссылка на документ. Если понимаем, что особой ценности в ссылке нет – или очищаем ссылку, или подсовываем всем записям одну ссылку. Если понимаем, что ценность есть – обработкой делаем обезличивание. Выполняем удаление помеченных, смотрим чем кончилось. И так по кругу, до победного.

Ну и следы стираем. Главным образом смотрим на систему версионирования. Тут вот в чём фишка: обработка удаления помеченных объектов, когда проверяет наличие ссылок на удаляемый объект, сознательно исключает из этого списка версионирование. Т.е. может случиться так, что документ успешно удалился, а его версии в регистре сведений остались.

А кто такие «версии»? Это упакованный в xml документ, который вполне можно достать и посмотреть.

Ещё бывает, что установлена какая-нибудь отраслевая или самопальная система версионирования. Такие вполне могут хранить версии в справочнике или, что страшнее – в отдельной базе, с которой настроен обмен. Такие следы никакая обработка не найдёт, тут надо быть внимательным.

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

Собственно, всё. Сворачивайте на здоровье.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4069 18.08.21 12:05 Сейчас в теме
Свёртка касательно вспомогательных и второстепенных регистров сведений - это отдельная песня. Причём ладно бы независимых, а складываются ситуации, когда для нужд бизнеса должны остаться записи регистраторных регистров, поэтому приходится или перецеплять, или выхолащивать их регистраторы, не убивая. А ещё всякие доп.свойства, да в хранилищах значений или хмл-строковых реквизитах неизвестно что лежит... А теперь ещё базы отчётности появились, всякие там "базы-копии", а ещё у некоторых УРИБы живы... Сказка)
13. Rustig 1184 18.08.21 20:40 Сейчас в теме
(1)
ещё базы отчётности появились, всякие там "базы-копии", а ещё у некоторых УРИБы живы

большой комплексный проект может нарисоваться с большим бюджетом... можно ли на свертке зарабатывать?! теперь "да"...
вот она сказка)
2. &rew 29 18.08.21 12:42 Сейчас в теме
Правила корректировки данных перед сверткой никто не отменял. Кривую базу сворачивать, получите кривую свёрнутую базу. Да, можно будет в начальных остатках поправить. Но НДФЛ например, всё-равно надо будет обрабатывать отдельно ручками, т.к. мало кто соглашается выплатить ЗП до нового года для свёртки (привет 6-НДФЛ), если дата по регламенту установлена до 12 числа след. месяца. (КА, ЕРП)
В этом плане даже процедура перехода со старых конф более лояльна к пользователям, т.к. данные по ЗП и Кадрам переносятся в документ Перенос данных, который к слову гораздо более функционален, чем документ Корректировка регистров.

И еще, для уменьшения объема базы надо бы после свёртки ее еще и сжать.
3. Богатырев Артур 112 18.08.21 13:50 Сейчас в теме
В этом им помогают менеджеры по продажам, которые слушают, кивают головой и записывают в блокнот пожелания клиента. Подливают масла в огонь слесаря 1С, которые, попробовав применить типовую свёртку и не получив результата за приемлемое время, выносят вердикт: свёртка невозможна"

Удивительно как при таком подходе Иван еще работает - если верить ему, то все вокруг пид...ы, а наш Дартаньян ими руководит.

В целом статья странная - совершенно непохожая на Ивана, ощущение что вступление от него, а остальное не в его стиле.

По содержанию - ничего себе, вполне.
Award; user595646_formsg2007; Krasnyj; sinichenko_alex; Yashazz; +5 1 Ответить
4. sinichenko_alex 107 18.08.21 14:44 Сейчас в теме
Ну наконец хоть что-то более подходящее под формат.
5. AntonProgma 31 18.08.21 16:28 Сейчас в теме
Спасибо за идею постепенной сверки!
15. Yashazz 4069 18.08.21 21:14 Сейчас в теме
(5) а что, так не очевидно было?...
user834357; +1 Ответить
18. AntonProgma 31 18.08.21 21:49 Сейчас в теме
(15) Мне только предстоит первая свертка базы в жизни. Я имею в виду, с помощью типовой обработки.
23. Yashazz 4069 19.08.21 08:59 Сейчас в теме
(18) Я к тому, что любое серьёзное действие следует проводить а) сперва на тестовой копии, б) при больших объёмах - поэтапно.
Успехов!
24. AntonProgma 31 19.08.21 09:41 Сейчас в теме
(23) удачной охоты всем нам!)
30. vasyna 19.08.21 13:34 Сейчас в теме
(18) не так страшен черт как его малюют. Главное потом по максимуму все проверить.
63. alex_bitti 115 01.09.21 10:22 Сейчас в теме
(5) типовая свертка срань, особено удаление документов, удалять документы из учетной базы могло придти в голову только тому кто никогда не вел учета, обычно проблемы начинаются только на этом этапе, в базе 30+ гб это практически "дохлый номер", есть альтернатива удалению, делаешь свертку и в чистую базу переносишь документы ввода остатков, рекурсивно перенесется все что нужно будет для нормального функционирования
AntonProgma; +1 Ответить
6. krollzlat 18.08.21 17:05 Сейчас в теме
очень простая в инженерном плане операция.

В ERP то ? В актуальном релизе то много функционала работает не так как запланировано, постоянно данные "перелопачиваются" обработчиками при каждом обновлении, простые документы делают несколько десятков движений не только в РН, но и в РС. Так что это точно не тривиальная задача.
7. ILM 239 18.08.21 17:47 Сейчас в теме
Консоль SQL - свернула УПП со 183 Gb до 61 Gb за 4 часа. Но настройки и тестирование заняло неделю.
8. RAV38574 101 18.08.21 19:08 Сейчас в теме
В БП 1.6 была типовая свертка в БП 3.0 есть, в БП 2.0 ее нет, или что то изменилось, можно подробнее с какого релиза и где она.
11. 1c-intelligence 11648 18.08.21 19:54 Сейчас в теме
(8) нету? А я чем сворачивал...
Наверное, взял из БП 1.6 или УПП.
22. Intor_ 19.08.21 08:24 Сейчас в теме
(8) На юзерсе была. Вроде как апгрейднутая 1.6
27. RAV38574 101 19.08.21 11:06 Сейчас в теме
(22) Это я знаю, у меня их три по разным алгоритмам, я спрашивал именно о типовой, т.к. в публикации написано что есть типовая.
9. spectre1978 56 18.08.21 19:28 Сейчас в теме
Неплохая статья - понятным языком разъяснены многие вопросы, которые возникают у человека, который первый раз столкнулся с вопросом. Лайк.
user833917; Dnki; Rustig; +3 Ответить
10. Rustig 1184 18.08.21 19:46 Сейчас в теме
(9) кстати, да - кто с УТ 10.3 начинал или с 7.7 - хоть что-то понимают о свертке... Остальным будем передавать из уст в уста...
14. AntonProgma 31 18.08.21 20:55 Сейчас в теме
(10) Помню, в ТиС можно было удалить dd-файл, скопировать справочник "Партии" как объект метаданных, удалить его оригинальный экземпляр, поменять везде ссылки на новый, сохранить конфигурацию, и таким образом быстро очистить справочник от данных )
16. Yashazz 4069 18.08.21 21:17 Сейчас в теме
(14) Вообще можно было узнать по dd, кто есть ху, и просто грохнуть нужный файл, а потом запустить через конфигуратор, переиндексация и всё. Конечно, с файлом БИ или регистров такое не канало, но первичку - запросто) Если база не скульная была, конечно)
shard; &rew; +2 Ответить
12. Rustig 1184 18.08.21 20:38 Сейчас в теме
21. &rew 29 19.08.21 05:02 Сейчас в теме
(12)Честно говоря кейса тут не увидел. Есть цели в которых свёртка поможет. Ну и , как говорится, "краткое пособие для начинающих - начинайте")
25. Rustig 1184 19.08.21 10:48 Сейчас в теме
(21) я помню себя - как начинал, как набивал шишки....
эта статья - это как карта с навигацией по вопросам свертки....
вы знаете, есть в консалтинге эффект - до того как оказана услуга - она ценится. Как только услуга оказана - она обесценивается в глазах Заказчика... Поэтому за любую услугу желательно брать оплату по предоплате...
Точно также с кейсами, со знаниями, с решениями - пока их нет в оформленном системном виде - для людей ценна любая информация.

Как только кто-то сформулировал решение или упорядоченную систему (навигатор по нюансам) - для людей становится сразу все просто, появляется эффект "да я и так знал" - происходит обесценивание труда человека, который упаковал разнородные ситуацию в одном кейсе....

В среде профессионалов подобные работы называются кейсы - они направлены на освещение не технических вопросов, а именно разных сценариев и подходов решения задачи. Зачастую для Заказчиков это та часть "экспертизы", которой им самим не хватает.

К примеру, у Заказчика есть программист в штате. Но лучшей рекомендацией будет пригласить для свертки спеца со стороны, потому что со стороны специалист уже свернул несколько баз, знает нюансы. Сейчас Заказчику не нужны детали - он должен минимизировать риски, ускорить процесс свертки - получить экспертность и компетентность, которую в своем программисте не видит.
Award; user833917; oleg-m; Somebody1; Totoro; Cерый; 1c-intelligence; +7 1 Ответить
26. 1c-intelligence 11648 19.08.21 10:52 Сейчас в теме
(25) полностью согласен.
И статья из серии "Письма клиентам".
28. &rew 29 19.08.21 12:57 Сейчас в теме
(25)Вот такие кейсы очень часто и упрощают для клиента весь процесс. Грубо говоря мы таким "письмом" сами себя подставляем. Да, продали под соусом - "1С-Это просто", а потом мучительно согласовываем доп. расходы. Я в свой практике часто встречаю как заказчик "соехусит" своего программиста, хотя тот - вполне адекватный и правильный чел. Но, блин, не видит он в нем эксперта. Это как дома жена не видит эксперта в своем муже лампочку сменить, а дядя со стороны красивый буклет покажет и смету с умными словами накидает. Даже перед менеджерами из филиала конторы Ивана приходится их же программистов оправдывать. Это трындец - товарищи. Не превращайтесь в "эффективных менеджеров".
35. Rustig 1184 19.08.21 15:59 Сейчас в теме
(28) я ничего не понял

(28)
Вот такие кейсы очень часто и упрощают для клиента весь процесс

это кейсы для нас - для разработчиков
клиентам такое не надо - они не читают такое
им не надо разбираться в 10 описанных сценариях

(28)
Грубо говоря мы таким "письмом" сами себя подставляем.

какое письмо? я в жизнь такое не пошлю... я не понимаю, с какой стати, вы приняли это за письмо?


(28)
Да, продали под соусом - "1С-Это просто"

что продали? под каким сосусом? я всем клиентам говорю 1с - это сложно, сами не программируйте, обращайтесь за платными консультацями


(28)
а потом мучительно согласовываем доп. расходы.


о чем вы ?


(28)
Я в свой практике часто встречаю как заказчик "соехусит" своего программиста, хотя тот - вполне адекватный и правильный чел. Но, блин, не видит он в нем эксперта.


кто кого должен видеть?
у Заказчика всегда есть выбор - сделать самим или обратиться к эксперту...
Просто звонит в первую попавшуюся фирму, и начинает обсуждать свертку или другую проблему....
в чем проблема?

(28)
Это как дома жена не видит эксперта в своем муже лампочку сменить


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


(28)
Это трындец - товарищи. Не превращайтесь в "эффективных менеджеров"


у вас наслоение статей или жизненного опыта - разобраться в этом сложно...
перечитайте свой текст через год - не вспомните, что хотели сказать...
40. &rew 29 19.08.21 17:22 Сейчас в теме
(35)Я прекрасно отдаю себе отчет в том, что я пишу.
Статья - Письма клиентам.
Инфостарт - так же доступен заказчику, как исполнителю, и читать он умеет.
А про жизненный опыт - Вы правы. Много раз и по телефону и на совещаниях, как со стороны заказчика, так и со стороны исполнителя участвовал
Уверен, что про доп. расходы Вы прекрасно поняли мой посыл, а "вангование" того, кто чего вспомнит через год, вряд ли целесообразно.
43. Rustig 1184 19.08.21 21:53 Сейчас в теме
(40)
Я прекрасно отдаю себе отчет в том, что я пишу.

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


(40)
Статья - Письма клиентам.

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


(40)
Инфостарт - так же доступен заказчику, как исполнителю, и читать он умеет.

Заказчики (менеджеры, директора, кураторы проектов) не читают Инфостарт, кроме возможно Айти-отдела Заказчиков.
Но Айти-отдел для меня не Заказчик. Если у Заказчика есть Айти-отдел, то это не мой клиент.
И если у Заказчика есть Айти-одел, то свертку они сделают, не зависимо напишет свою статью Иван или нет... Они на статью опираться не будут - даже не заметят.


(40)
А про жизненный опыт - Вы правы. Много раз и по телефону и на совещаниях, как со стороны заказчика, так и со стороны исполнителя участвовал


в чем я прав? я так и не понял, как вы сюда свой жиз.опыт привязали?



(40)
Уверен, что про доп. расходы Вы прекрасно поняли мой посыл,

не понял, и написал об этом три раза



(40)
а "вангование" того, кто чего вспомнит через год, вряд ли целесообразно.


мысль надо выражать так, чтобы через год можно было прочитать, и понять что к чему...
44. &rew 29 20.08.21 06:07 Сейчас в теме
(43)Данный диалог исчерпал себя. Честь имею!
46. lunjio 64 20.08.21 15:36 Сейчас в теме
(12) Тоже не вижу кейса если честно, ткните носом что-ли.
17. stdstd 10 18.08.21 21:45 Сейчас в теме
Свертка базы также нужна при реорганизации юридического лица, например из ООО в АО.
Сделал свертку базы ООО и полученные остатки ввел на новое АО, используя эту свертку.
19. anosin 28 18.08.21 22:58 Сейчас в теме
Можно ещё делать свёртку прямыми запросами в sql-базе получается пошустрее
2ncom; cosmo2004; +2 Ответить
20. is_gig 19.08.21 03:42 Сейчас в теме
(19) ага - мы так и делаем, правда 1С это не сильно одобряет (точнее, сильно не одобряет). Просто написали свою настраиваемую свертку данных с прямыми sql-запросами, лет эдак 10 назад...
66. 2ncom 24 19.09.21 18:47 Сейчас в теме
(19)Интересно !!!
А можете поделиться методикой, как это возможно ?
67. anosin 28 20.09.21 08:34 Сейчас в теме
(66) методикой чего?
помечаются объекты. потоу удаляются прямыми запросами или если данных для удаления слишком много то удалением таблицы и копирование оставшихся данных
68. 2ncom 24 20.09.21 12:07 Сейчас в теме
(67)
методикой свертки, имел в виду.
Но теперь понятно, речь идет не о самой свертке, а о удалении объектов после свертки.
Спасибо !
69. anosin 28 20.09.21 15:21 Сейчас в теме
(68) так удаление и занимает много времени, создать документы со срезом остатков это в принципе несилько затратно по времени.
70. 2ncom 24 20.09.21 15:29 Сейчас в теме
29. Cерый 17 19.08.21 13:28 Сейчас в теме
(19) Быстрее на порядок и более, странно, об этом не упоминают ... Truncate table мгновенна, строки таблиц, которые должны остаться, можно предварительно выгрузить в xml.
31. 1c-intelligence 11648 19.08.21 13:34 Сейчас в теме
(29) статья про то, как ещё и шею не свернуть.
А вы самый прямой путь предлагаете.
34. Cерый 17 19.08.21 13:48 Сейчас в теме
(31) Конечно, потом надо решить вопрос с итогами, битыми ссылками и еще кучу, скажу больше: чтобы сложить 2 + 2, нужно:
1. иметь данные о типе складываемых величин;
2. об операциях сложения, определенных на типах;
3. об операциях приведения типов;
за статью благодарю - плюс!
1c-intelligence; +1 Ответить
36. anosin 28 19.08.21 16:58 Сейчас в теме
(31) ну почемуже не первый год этим пользуемся, что ускоряет процесс свертки т.к. организовывать тех.простои дольше чем на час не получается из-за практически круглосуточной работы пользователей в базах.
37. 1c-intelligence 11648 19.08.21 17:09 Сейчас в теме
(36) да я не сомневаюсь, что у вас получается. Но массовому клиенту и программисту такой способ лучше не предлагать - сломают и зубы, и шею.

Универсальность, опять же. На постгре будет работать?
42. anosin 28 19.08.21 20:42 Сейчас в теме
(37) адаптировать думаю не вопрос, язык sql в принципе универсален и адаптивен
33. genayo 19.08.21 13:47 Сейчас в теме
(29) Для этого нужен более опытный специалист, полностью понимающий, что он делает и к каким последствиям это приведёт :)
32. genayo 19.08.21 13:46 Сейчас в теме
Главное, не дойти до состояния, когда размер базы больше 10ТБ, тогда все типовые методы идут лесом :(
38. d4rkmesa 19.08.21 17:10 Сейчас в теме
(32) Да уже при 200Гб типовые пойдут лесом...
39. 1c-intelligence 11648 19.08.21 17:14 Сейчас в теме
(38) чё это, я сворачивал итерационно.
За один проход, конечно, не получится.
41. genayo 19.08.21 18:13 Сейчас в теме
(38) Это ещё нормально, хоть и геморно, но реально.
45. lunjio 64 20.08.21 15:33 Сейчас в теме
Сворачивал базу в 250 ГБ, в течение дня, экстренно, использовал обработку которая по списку метаданных составляет запрос прямой в SQL, https://infostart.ru/public/166388/ (идея не уникальна, но за труд автору премного благодарен). Впоследствие исправлял серьезные ошибки которые были в коде обработки при сворачивании регистров Бухгалтерии, но в работает на 5, единственное когда у вас конфигурация сборная солянка, с какими-то не понятными справочниками и регистрами которые как правило в свернутой базе не желательно чтобы присутствовали(если база подготавливается для налоговой, а не по причине большого размера), то это та еще задачка.
Статья по факту не показалась полезной лично для меня, но автор делает успехи хотя бы по факту того, что от пустого словоблудия и описания своего мировозрения мира 1С, перешел к чему-то более ценному для сообщества. Пожалуй поставлю плюс.
47. lunjio 64 20.08.21 15:59 Сейчас в теме
Никаких кейсов в статье не вижу, в целом есть три частных случая(а лучше сказать кейса? как сейчас модно говорить), а точнее два, при этом второй делится еще на 2.

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

2 - Для баз очень большого размера, где как правило надо побыстрее и даже типовыми средствами, все выглядит достаточно печально. По своему опыту скажу, свыше 200 ГБ стандартными средствами будет проблематично решить, учитывая, что это надо сделать в сжатые сроки.

2.1 - с таким размером дальше жить не выгодно с технической точки зрения (чтобы улучшить чуток быстродействие, нужно SSD ставить, сервер порезче и т.п, т.е экспонциональный прирост в затратах при минимальной отдаче)
Вариант, все ясно, пересчитать итоги, поглядеть какие индексы сьедают больше всего, подумать насчет выносом файлов хранящихся в хранилище значений во внешние файлы. 90% размера базы. это от силы 5% регистров накопления, можно вообще свернуть только их, движения очистить по документам, поставить какое-то условие, при котором до даты сверки движения выполняться не будут, так заглушка.

2.2 Так надо для налоговой/бизнеса. Все гораздо и гораздо интереснее, как правило когда программисты программировали, если так можно сказать, они вообще не думали о свертке, каких-то потенциальных обменах, иногда даже о контексте вызова ) добавляли какие-то справочники и т.п, в конфигурацию зашивали в код какие-то коды, тексты, условия. Тут надо понимать, что будут проверяться в основном данные, в конфигурацию в код навряд ли будут к вам лезть, но береженого Бог бережет вроде? Лучше перестраховаться. В данном случае выход только один, либо у вас уже есть инструмент свертки нестандартными средствами ( посредством прямых запросов и т.п) либо вы настолько крут, что распоралеливаете типовую обработку (хотя я себе трудно представляю, что так можно сильно ускорить). Помимо этого вам придется решать вопросы с кучей дополнительных объектов, которые как-то взаимосвязаны и управленческие, если база не типовая. Как пример скажу, если какой-то управленческий документ, которы может быть основанием для приходного/расходного, да ладно вы грохните таблицу через truncate, так приходники не будут проводиться без подобных документов )))

Ну и раз мы рассматриваем свертку, нужно уже рассмотреть и так сказать вариант с выдергиванием какой-либо организации, они по сути практически идентичны, тут просто нет ввода остатков.
Ну и оставил на последок - возможно (а по мне так в 99% случаях) при сдачи для налоговой, вам придется еще чистить комментарии в документах, ответственных.
48. uriy 3 20.08.21 19:05 Сейчас в теме
Ну почему же нельзя сделать типа "РБД" с переносом остатков и работать в новой базе без доков.?
Работать с типовыми свертками было долго и нудно.
49. 1c-intelligence 11648 20.08.21 19:40 Сейчас в теме
(48) кмк, если учёт ведётся лет 10, а свернуть надо первые три, РИБ будет шуршать дольше свёртки.

Плюс, в полный план обмена включены далеко не все объекты. Доработки - точно нет (если РИБ не использовался). Нужна предварительная доработка плана обмена.

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

Вариант риба есть, но и он не идеален.
50. uriy 3 21.08.21 00:15 Сейчас в теме
Ладно напишу открыто. Почему нельзя в 1с штатником сделать обрезку базы, нормально чтобы не дни сидеть. Те люди которые 10лет базу захламляли, по моему лучше 10 копий архивных сделали и каждый год сидели на облегченных версиях.
51. 1c-intelligence 11648 21.08.21 08:15 Сейчас в теме
(50) не понял вашу мысль.
cosmo2004; +1 Ответить
52. genayo 22.08.21 20:34 Сейчас в теме
(50) Это никому не надо. И без использования какой-нибудь очереди сообщений всё равно не взлетит на больших базах.
56. triviumfan 27 23.08.21 09:52 Сейчас в теме
53. Velifer 23.08.21 03:41 Сейчас в теме
Ужас какой )

Только в этом месяце свернул две базы с полным контролем целостности данных:

- 1С:Розница 1.8 Тб за 3 часа на убитых в хлам дисках уровня HDD Desktop
- 1C:Бухгалтерия 1 Тб за 2 часа на сервере с объемом памяти уровня "смех и грех"

В июне четыре базы КА 2.4 размером от 1 до 2 Тб, свернулись за 2 часа каждая

1С:ERP размером 280 Гб переварил и не заметил

Ну и всякую мелочь разных конфигураций по 100 Гб, 200 Гб проглатываю и не замечаю и не учитываю ;)

Использую все свое - инструменты, методики. Чтобы не свернуть шею чужим или штатным:)
54. user1146461 23.08.21 09:29 Сейчас в теме
57. triviumfan 27 23.08.21 09:54 Сейчас в теме
(53) Поделись методикой/инструментами)
Прикрепленные файлы:
58. uriy 3 23.08.21 14:18 Сейчас в теме
(53)Вот и я про тоже вроде эта фичка в 1с есть а по факту ей пользоваться почти не реально.
55. triviumfan 27 23.08.21 09:41 Сейчас в теме
"виртуальная таблица остатков начнёт быстро пухнуть", - :D
Прикрепленные файлы:
59. lunjio 64 24.08.21 20:04 Сейчас в теме
(55) Да что вы сразу ? человек только из поэтического мира, вернулся в технический )
60. 1c-intelligence 11648 24.08.21 20:11 Сейчас в теме
(59) а чё, я что-то пропустил? Или чушь сказал?

У клиента таблица остатков регистра НДС партий товаров занимала несколько десятков ГБ. Потому что не закрывался регистр вообще, и каждый новый регистратор себя ещё и в измерение добавлял.
61. uriy 3 25.08.21 10:25 Сейчас в теме
Ну вот все равно не пойму - почему нельзя в штатной 1с сделать свертку итогов по текущую дату с созданием чистой новой базы с остатками на этот момент (или религия им не позволяет ?), я понимаю что красиво удалять ненужные доки и оставлять только те которые в движении (тот вариант который в 1с сейчас реализован) - НО это же при условии отсутствия битых или набитых шишок в 1с пользователями и программерами - приводит в выводу что проще зачастую завести новую базу и занести остатки. Я так же понимаю что старые доки нужны для сверок, но работать по сверкам в старых копиях тоже можно ведь.

Из опыта для себя сделал вывод, что обработки по свертке сторонние работают на порядок лучше (правда тоже не все).

И о наболевшем, правда это не касается этой темы- когда потребовалось ввести маркированный товар 19-20 год - попробовали 1С УТ, где эта возможность вроде как есть - но по факту там надо было в 3-5 доках поочередно из одного в другой плясать (про доп поля которые на каждый товар вносить ручками это то еще занятие. В итоге приобрел расширение здесь же на сайте - которое уже было на порядок "ЧЕЛОВЕЧНЕЕ" и там уже работать было приемлемо. В дальнейшем не раз встречал у других это же решение + - со своими доработками. Почему покупая 1С нельзя во многих местах довести ее до ума!!!
62. Alex1c 19 25.08.21 19:29 Сейчас в теме
Век живи век учись.. Про регистр версий не знал, что он не очищается. Когда мерял размер базы видел, что он очень большой, но в стандартной форме списка не видно записей по удаленным документам. Решил, что это норма для него. Сейчас глянул в консоли и ого!
Нашел обработочку по его очистке https://infostart.ru/public/76499/
64. zqzq 21 02.09.21 11:59 Сейчас в теме
Свертка это как РИБ -- наследие ларькового 1С прошлого.

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

Вот ещё интересная статья https://infostart.ru/1c/articles/94040/
В современных условиях очень странно бывает иногда слышать "нам нужно свернуть БД 1С - её объём превышает 50 ГБ". Если бы такое собирались сделать администраторы систем SAP R3 или Oracle e Business Suite или даже MS Dynamics Ax их бы наверное уволили. Тем не менее, для 1С это является "стандартной практикой".
65. Vortigaunt 84 13.09.21 10:02 Сейчас в теме
Спасибо. Статья полезная и толковая. Но я наверно отстал от жизни или что-то неправильно понимаю. Всегда считал, что виртуальные таблицы на то и виртуальные, что не хранятся физически в базе. Может в статье имелись ввиду физические таблицы остатков (оперативные, рассчитанные по-месячно)?
Оставьте свое сообщение

См. также

Опыт свертки базы 1С:ERP

Свертка базы v8 ERP2 Бесплатно (free)

Свертка информационной базы 1С – процесс обработки документов и регистров конфигурации, позволяющий удалить старые, ненужные документы. Вместо них формируется несколько документов ввода остатков на заданный период. Таким образом мы “обрезаем” ведение учета до заданного периода.

14.03.2017    30552    nokov    28    

T-SQL + 1С: как правильно удалять очень много записей

Свертка базы Практика программирования v8 1cv8.cf Бесплатно (free)

Свёртка (архивация) больших объёмов данных 1С часто выполняется средствами SQL Server. Эта публикация рассказывает о том, как правильно использовать простую команду DELETE на больших объёмах данных. Даются советы по оптимизации свёртки данных средствами T-SQL.

21.12.2016    19460    zhichkin    39    

Как свертывать большую базу 1C 8 в максимально короткие сроки (1С 8.1, 8.2)

Производительность и оптимизация (HighLoad) Чистка базы Свертка базы v8 УТ10 Бесплатно (free)

Как свертывать большую базу 1C 8 в максимально короткие сроки (1С 8.1, 8.2). Любая база данных со временем разрастается до огромных размеров, что делает его более медлительным и работать в нем порой бывает очень тяжело. По этому периодически базу свертывают, т.е. до определенной даты все документы и движения удаляются и вводятся начальные остатки. Соответственно всегда есть архивная база за прошлые периоды. Пример свертки базы 1С на SQL приведен здесь.

14.06.2013    64867    setrak    21    

Одно важное замечание по поводу настройки обработки "СверткаИнформационнойБазы.epf" для УПП

Свертка базы v8 УПП1 Бесплатно (free)

Если кто из Вас собирается использовать обработку "СверткаИнформационнойБазы.epf" для УПП (обработка находится на диске ИТС), хочу по горячим следам дать пару советов.

18.07.2011    21526    krut    13