1с версии объектов очистить
Удаление устаревших объектов метаданных из конфигурации
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. Если при изменении структуры метаданных конфигурации планируется удалить объект метаданных (реквизит, измерение, ресурс и пр.), связанный с записями информационной базы, то необходимо принять решение об удалении или переносе данных этого объекта в новые структуры. При переносе данных в другие объекты рекомендуется придерживаться следующих правил.
1.1. Не удалять из конфигурации устаревшие объекты метаданных и реквизиты безвозвратно, а пометить их как устаревшие, добавив к их именам префикс "Удалить" (англ. "Obsolete" ). Например: реквизит "ОсновнойДоговор" (англ. "MainContract" ) должен быть переименован в "УдалитьОсновнойДоговор" (англ. "ObsoleteMainContract" ).
В синоним устаревшего объекта (реквизита) рекомендуется добавлять префикс "(не используется)" (англ. "(not used)" ), например: "(не используется) Основной договор" (англ. "(not used) Main contract" ). Если же устарел стандартный реквизит, то префикс "(не используется)" также добавляется в его синоним.
1.2. После изменения структуры метаданных следует обеспечить перенос данных из устаревших объектов и реквизитов в новую структуру метаданных конфигурации.
1.3. Если удаляемый объект метаданных является документом – регистратором движений, а соответствующие регистры с движениями остаются в составе конфигурации, то необходимо обратить внимание на необходимость сохранения движений. Для сохранения движений документов – устаревших объектов метаданных, рекомендуется:
- Запретить генерацию движений при проведении документов этого вида.
- Запретить снятие пометки удаления для документов этого вида.
- Во всех существующих движениях документов этого вида изменить регистратор на один или несколько замещающих документов-регистраторов: существующих универсальных или специально разработанных. Например "Перенос данных", "Операция".
- Пометить все документы этого вида на удаление.
1.4. Произвести замену во всей конфигурации обращений к устаревшим объектам и реквизитам на обращение к новым данным, поскольку использование устаревших объектов и их реквизитов после изменения структуры метаданных методически неверно. В частности, исключить устаревшие объекты метаданных из всех ролей (кроме ролей ПолныеПрава и АдминистраторСистемы ), подписок на события и т.п., а также удалить у них код, формы, макеты, команды и другие элементы, ставшие избыточными.
Исключение составляет только сам код переноса данных из устаревших объектов и реквизитов в новую структуру метаданных конфигурации (см. п.1.2).
1.5. При сортировке устаревших объектов метаданных и реквизитов в дереве метаданных следует придерживаться общих требований к конфигурации.
1.6. Также рекомендуется выполнить очистку устаревших данных с тем, чтобы они не влияли на размер базы и не потребляли ресурсы (при резервном копировании, реструктуризации и других операциях).
В случае сложных (ошибкоемких) алгоритмов переноса данных, такую очистку целесообразно проводить не сразу, а через один или несколько релизов. Тем самым, остается возможность выпуска внепланового релиза для устранения последствий некорректной работы алгоритмов переноса.
2. Необходимость в переносе данных также может возникнуть при пересмотре структуры измерений регистров. Следует создать новый регистр с правильной структурой, а старый отметить как устаревший и перенести записи из старого регистра в новый в тех случаях, когда измерение регистра сведений становится не актуальным: удаляется, либо изменяется его тип, либо у измерения составного типа уменьшается состав типов.
При этом создать новый регистр не требуется, если в регистр добавляется новое измерение или у измерения составного типа расширяется состав типов.
3. Безвозвратно удалять устаревшие объекты метаданных и реквизиты, помеченные префиксом "Удалить" (англ. "Obsolete" ), следует при выпуске очередных версий конфигурации в том случае, если соблюдается одно из условий:
- Переход со "старой" версии конфигурации на новые версии всегда выполняется пользователями последовательно, "через" версию с реализованным переносом данных из "устаревших" объектов метаданных и реквизитов. Например: если в конфигурации версии 1.1 реквизит "ОсновнойДоговор" был помечен как устаревший, то переход с версии 1.0 на версию 2.0 всегда выполняется только последовательно: сначала на версию 1.1 (в которой происходит обработка устаревших данных), а затем на 2.0 (в которой устаревшие данные могут быть удалены безвозвратно). Непосредственный переход с версии 1.0 на 2.0 технически невозможен (запрещен).
- Вероятность того, что "старой" версией конфигурации еще пользуются, стала нулевой или пренебрежимо малой.
При этом может потребоваться выпустить промежуточный релиз, в котором обеспечить очистку устаревших данных - см. п.1.6. В противном случае, может завершиться ошибкой реструктуризация регистров, в измерениях которых остаются ссылки на устаревшие данные.
Потребность в ней возникла из-за интеграции: записываются элементы без существенных изменений. Так же пользователи открывают элемент и жмут "записать и закрыть", вместо обычного закрытия.
Необходимо выбрать объект метаданных, либо элемент справочника или документ.
Можно ограничивать выборку по датам, по общему количеству, чтобы сократить время поиска и обработки. Кнопка "Посчитать количество" показывает сколько записей истории существует по каждому элементу.
Основная функция: "Удалить историю без изменений", которая сравнивает последовательно версии изменений и удаляет те, между которыми нет отличий.
По кнопке "Удалить историю" можно безусловно очистить историю по элементу, либо всему объекту метаданных. В этом случае, работает достаточно быстро, поскольку берётся первая и последняя версия данных и удаляется одним действием.
При необходимости, можно очищать историю регистра сведений. Пример сделан по кнопке "Удалить историю расписание". Отображение данных не предусмотрено. Можете доработать под себя.
Основное время обработки (97% времени) выполняется штатная функция "ИсторияДанных.УдалитьВерсии".
Иногда очистка истории приводит к дедлокам по тем элементам, которые чистятся в данный момент.
Тестировалась на платформе 8.3.13, 8.3.14, 8.3.16. Должна работать на версии 8.3.11
Буду рад конструктивной критике и советам.
1. Добавлен отбор по дате для документов.
2. Добавлена кнопка обновления истории.
1. Добавлена возможность удалить всю историю в базе.
1. Добавлена функция обновления истории.
1. Обновление истории выполняется по указанной ссылке, или объекту метаданных или по всей истории.
2. Отвязана от функций БСП.
1. Защита от возможной ошибки платформы. Рекомендуется использовать актуальную стабильную версию платформы.
Для выполнения обработки необходимо указать дату, по какую (включительно) необходимо удалить записи регистра "Версии объектов", где дата версии в записи регистра меньше или равна дате, указанной в обработке (по конец дня). После указания даты можно нажать кнопку "Обновить" в командной панели формы, после чего в заголовке формы будет указано количество записей регистра, которые будут удалены. То же действие выполняется при указании "Дата по" в обработке.
Далее, по нажатию на кнопку "Чистка" в командной панели, будет производиться удаление записей, в порядке возрастания даты версии. Процент выполнения удаления можно визуально увидеть в индикаторе выполнения.
Во время удаления версий, работу обработки можно прервать с помощью стандартных кнопок прерывания операции "Ctrl + Break".
Обработка не имеет управляемой формы. Интерфейс обработки разработан с учетом возможного использования в конфигурации 2 языковых интерфейсов, русского и украинского.
Обработка тестировалась на типовых конфигурациях Управление торговлей для Украины редакции 2.3, Управление торговым предприятием для Украины редакции 1.2, и Управление производственным предприятием для Украины редакции 1.3.
Перед выполнением обработки рекомендуется сделать полную копию базы, в которой будут удаляться версии объектов, чтобы в случае необходимости можно было восстановить резервную копию до чистки версий и посмотреть более раннюю версию некоторого объекта.
После выполнения обработки, рекомендуется в режиме конфигуратора выполнить тестирование и исправление базы с включенным признаком "Сжатие таблиц информационной базы".
В случае использования клиент-серверного варианта, рекомендуется выполнить специализированные операции для сжатия таблиц для базы, в которой выполнялась чистка версий объектов, с целью фактического освобождения дискового пространства.
Чистка версий объектов 2.0
Доступна возможностью отбора видов справочников и документов, версии которых необходимо очистить.
При этом можно установить или снять признак необходимости удаления версий конкретного вида справочника или документа. Так же для группового управления этими признаки есть кнопки "Установить все флажки" и "Снять все флажки". Так же есть возможность использовать кнопки "ТолькоВерсионируемые" и "ТолькоНеВерсионируемые" в подменю "Установить/Снять". При этом будут автоматически установлены признаки удаления версий только в тех объектах, для которых в настройках версионирования включен признак "Версионировать", или не включен признак "Версионировать" соответственно. Эта функция может быть полезна при изменении политики версионирования объектов, когда некоторые объекты исключаются из механизма версионирования.
Данная обработка очищает регистр сведений "Версии объектов" по указанную дату. Очистка выполняется методом "кусочных" запросов на конкретную дату. Сделано так, ввиду того что за один день может быть по несколько тысяч записей. После очистки оставшиеся версии с большей датой можно просмотреть в обычном режиме. Минус в номерах версий. Предположим было 5 версий. 3 первых удалили . Тогда для анализа доступны версии с номером 4 и 5. В качестве примера: Размер архива .dt до чистки регистра 1,62 Gb после очистки информации за 4 месяца размер архива .dt стал 1,29 Gb.
Добавлена возможность прерывания по Ctrl+Break.
Специальные предложения
спасибо! Народ столкнулся с этой проблемой.
Ситуация: в организации несколько лет работал механизм версионирования, год назад был отключен. Нужно полностью очистить регистр с Версиями объектов. В принципе проблем никаких пишем обработку удаляем записи регистра.
Вопрос: нужно ли удалить что-то еще кроме записей регистра? И не будет ли в дальнейшем каких либо проблем? Тоже планируем сделать такую только удаление хотим сделать не на определенную дату, а в случае если версии за две даты ни чем не отличаются.
Такое часто бывает например перепровели документ не изменяя реквизитов.
Или зашли в элемент справочника, а когда выходили нажали не на кнопку закрыть а на кнопку ок.
Все это попадает в регистр(но таким записям там явно делать нечего, только размер базы пухнет).
мда. такие штатное 1С-ное версионирование дюже хромое
Если кому интересно, у уважаемого O-Planet есть собственная разработка вроде как достойного качества. Лог выгружает в отдельную базу.
Так собственно, на вопрос то никто не ответил.Удалять то можно просто из регистра? Никаких косяков в районе целостности базы не будет? Обработку то писать 5 минут. У меня вопрос, не будет ли проблем потом? (6). Периодически с определенным интервалом запускаю данную обработку на базе УПП. Проблем с целостностью базы не наблюдаю. (7). Приятно осознавать, что экономишь время коллег. Удачи (6) Проблем не будет потом, т.к. в принципе их быть не должно. Спасибо:) Работает. Регистр почти в 5 миллионов записей удалось сократить на треть. В качестве пожелания разработчику: если бы еще бы можно было настраивать отборы (например документы за определенный месяц) чтобы была возможность запускать обработку частями - было бы вообще идеально. А то в том случае, когда количество обрабатываемых документов приближается к паре миллионов дело может затянуться:) немного долго - если достаточно большой период для удаления, но все работает. Не хватает: при необходимости прервать работу обработки, Ctrl-Break не работает. и относительно самого версионирования, к сожалению не нашел ни одного отчета, который позволяет сформировать статистику изменений не по одной позиции, а по определенному набору или хотя бы определенному справочнику используя этот механизм. Придется попробовать самому разобраться, хотя наверное не все тут так просто в использовании этого механизма, если до сих пор таких отчетов никто так и не сделал. Вообще просто удалять неправильно.
Лучше создать отдельно базу с одним РС ВерсииОбъектов и перегружать туда данные.
Обработка вычищает все записи на хер, не оставляя последних. потом не с чем будет сравнивать измененную версию объекта.
Прошли реорганизацию, оставили по старой конторе базу. Использовал обработку, с 3 ГГ упало до 2 ГГ. Плюс. Пришел к этой проблеме совсем с другой стороны, открыл для себя много нового что и вам поведаю.Предыстория:
В один "прекрасный" день база перестала быть адекватной минув барьер 4 гб (не давала сохранять документы и т.д -вылет с ошибкой).
Сначала грешили на почту подключенную в 1с. Решили удалить переписку но база уже не давала -ее просто заклинило и выбивало с ошибкой даже при попытке что то удалить. Не знаю как но бухгалтер умудрилась все таки что то удалить после чего базу немного попустило и стало возможно удалить переписку, но объем уменьшился не на много. Я в это время на копии пытался шаманить -выгружал базу в файл загружал обратно, тестировал и реорганизовывал таблицы через конфигуратор -ничего не дало результат, объем был непоколебим. Уже было решили кинуться в крайность - перейти на sql вариант, все программисты так и советовали) но там свои заморочки и я решил разобраться в проблеме все таки. Покопал немного в сети и нашел программу просмотра таблиц базы, вместе с бухгалтером поняли что как раз таблица версий занимает эти предельные 4 гб на таблицу (для файловой 1с). Теперь пробую варианты уменьшить таблицу - один из них использовать штатную обработку 1с в УТП это "универсальный обмен данными в формате xml". там есть секция удаление данных, но нету возможности удалять по дате а только все данные и так как процесс ресурсоемкий то опять же вылет с ошибкой "нехватка памяти" (это уже ограничение самой ОС на 32 битные приложения) и снова надо шаманить уже над ОС чтобы перешагнуть этот барьер. Остается вариант написать самому что то или вашу обработку пробовать, вариант сделать свертку базы тоже бухгалтер не очень хочет так как не очень ей удобно пару баз иметь. Так что такие обработки из разряда стратегически важных потому что на весах сохранность всей базы, ведь проблема не только в ее объеме но и в дальнейшем функционировании и без вовремя сделанной копии восстановить работоспособность не просто (при пороге 4 гб свертка тоже не работает уже, база просто в нокдауне, хоть бери да ножом режь). (g123) спасибо за столь развернутый комментарий. По своему опыту могу сказать, что когда возникает подобная проблема, то лучше все же перейти на SQL.
Я поглядел код этой обработки и что-то мне показалось не сильно оптимально читать данные из регистра, потом их записывать привязывая на пустую ссылку, чтобы потом отбором по ней грохнуть данные.
в общем запилил альтернативный код для кнопки выполнить
Уж лучше удалять со ссылками на объекты, помеченные на удаление, если они не нужны, и по одной версии остальных оставлять.Недостаток обработки - что записи регистра сначала не удаляются, а:
1. записываются с Объект = Справочники.Номенклатура.ПустаяСсылка()
2. и только потом удаляются все записи с этой пустой ссылкой.
И если включено версионирование Номенклатуры, то при попытке записать элемент справочника Номенклатура пока не завершён п.2 - будет выдана ошибка записи.
Просмотры 32735
Загрузки 368
Рейтинг 48
Создание 06.10.10 16:18
Обновление 11.01.14 17:37
№ Публикации 76499
Операционная система Windows
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
Бесплатная версия, для Розница 2, УТ 11, УНФ, Рарус, Комплексная автоматизация 2, ERP, и т.д. K-SOFT: Печать через веб-сервер АТОЛ с нескольких рабочих мест.См. также
Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо
Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.
1 стартмани
04.11.2018 54188 533 Eugen-S 35
Удалятор присоединенных файлов (для БСП)
Помощник анализа/выявления "мусорных файлов", лёгкой пометки и удаления.
1 стартмани
08.07.2021 4095 16 Igorro82IT 12
ПОЛНОЕ удаление лишних организаций и связанных с ними данных
1 стартмани
11.03.2021 5024 124 Kuzya_brаtsk 8
Превращение доработанной конфигурации в типовую или исправление ошибки "Имеются записи с одинаковыми измерениями"
Помогает решить проблему связанную с дублями в регистрах сведений при возвращении к типовой конфигурации. Ошибка "Имеются записи с одинаковыми измерениями".
1 стартмани
12.02.2021 9065 84 pyrkin_vanya 36
Пометка на удаление неиспользуемых элементов справочников и документов Промо
В ходе работы в программе в ней зачастую накапливается "мусор". Данная разработка может помочь убрать его. (обычные или управляемые формы)
1 стартмани
02.02.2010 41440 725 AnryMc 53
Удаление дублей штрихкодов
Еще одна обработка по удалению дублей штрихкодов.
1 стартмани
07.07.2020 3066 3 wowik 0
Свертка базы и очистка таблиц
Обработка написана с использованием БСП. Встраивается как внешняя. Работает в фоне. Позволяет средствами SQL очищать выборочно таблицы с настройками, заданными привычным образом через отбор СКД.
5 стартмани
05.03.2020 9409 45 YAGolova 7
Свертка БД 1С: обрезка до выбранной даты средствами MS SQL
Внешняя обработка, позволяющая произвести анализ размера БД и грубую обрезку данных до выбранной даты средствами MS SQL. Управляемые формы, 1С:Предприятие 8.3 (8.3.9.1818).
1 стартмани
15.11.2019 23286 271 dmitrydemenew 44
Универсальное удаление движений регистров накопления по всем непроведенным документам
Попалась база КА 2.4 с движениями по регистрам, у которых регистратор был непроведен или помечен на удаление. Написал небольшую обработку по удалению таких записей из регистров.
1 стартмани
27.09.2019 17670 23 John_d 17
Очистка базы данных 1С от данных по организациям прямыми SQL-запросами к СУБД
Работа с помощью прямых запросов в случае, когда нельзя, но очень необходимо.
10 стартмани
20.09.2019 18420 110 nomad_irk 94
Удаление документов для любых баз на управляемых формах
Удаление и распроведение документов для любых баз на УФ.
3 стартмани
13.09.2019 12004 151 Rustig 33
Очистка регистрации обмена Промо
Данная обработка предназначена для очистки узла. Для очистки необходимо указать период,организацию.
1 стартмани
19.09.2017 21675 9 serg-lom89 0
Быстрое удаление данных по организации, используя ADO
Время от времени возникают вопросы на форуме Инфостарта по сабжу. Данная обработка решает данную задачу.
1 стартмани
12.08.2019 10188 57 Fox-trot 30
Универсальное удаление выбранного объекта 8.2 - 8.3 на управляемых формах
1 стартмани
17.06.2019 10526 30 AlexandrSmith 0
Поиск и чистка битых ссылок в регистрах сведений и накоплений 8.3
Данная обработка позволяет чистить устаревшие битые записи в регистрах сведений и накоплений. Я не затрагиваю в ней регистр бухгалтерии, так как там удаление любой записи может быть критичным для баланса. Бухгалтеры иногда готовы терпеть любые ссылки на удаленные раннее из базы объекты, лишь бы баланс сходился, даже если битая ссылка не может пролить свет на её происхождение.
1 стартмани
04.05.2019 11464 102 AlexandrSmith 2
Удаление данных по организации в базах, ведущих учет по нескольким организациям. БП 3.0, ЗУП 3.1
При необходимости разделить данные в базах, где ведется учет по нескольким организациям, данная обработка поможет очистить ненужную информацию по организации/организациям. Работает в конфигурациях БП 3.0 и ЗУП 3.1.
2 стартмани
03.04.2019 14856 309 SanchoD 35
Удаление неиспользуемых элементов справочников в БП 3.0, УНФ 1.6, УТ 11.4, КА 2.4, ERP 2.4
Данная обработка предназначена для удаления неиспользуемых элементов справочников в конфигурациях "1С: Бухгалтерия предприятия 3.0", "1С: Управление нашей фирмой 1.6", "1С: Управление торговлей 11.4", "1С: Комплексная автоматизация 2.4", "1С: ERP Управление предприятием 2.4"
1 стартмани
15.03.2019 12629 127 BurlakovIvan 0
Восстановление настроек плана счетов и очистка некорректных рабочих счетов в БГУ 1.0
В плане счетов в БГУ 1.0 есть возможность восстановить настройки по умолчанию. Но при наличии некорректных рабочих счетов, восстановление настроек не выполняется. При этом даже нет информации, в каком именно счете проблема. Данная обработка находит некорректные рабочие счета и удаляет их.
1 стартмани
04.03.2019 22919 231 Sashares 36
Удаление помеченных объектов, замена ссылок. Обычное и управляемое приложение. Не монопольно, включая рекурсивные ссылки, с отбором по метаданным и произвольным запросом Промо
Обработка удаления помеченных объектов с расширенным функционалом. Работает в обычном и управляемом приложении. Монопольный и разделенный режим работы. Отображение и отбор по структуре метаданных. Отборы данных произвольными запросами. Копирование и сохранение отборов. Удаление циклических ссылок (рекурсия). Представление циклических в виде дерева с отображением ключевых ссылок, не позволяющих удалить текущий объект информационной базы. Удаление записей связанных независимых регистров сведений. Групповая замена ссылок. Индикатор прогресса при поиске и контроле ссылочности.
10 стартмани
31.10.2016 63453 765 m..adm 231
Обнуление остатков регистров бухгалтерии и накопления Промо
Обработка позволяет обнулить остатки по регистру накопления или бухгалтерии на определенную дату. Поддерживается большинство типовых конфигураций (БП 3, БП 2, УТ 11, УТ 10, ЗУП 3, ЗУП 2, БГУ 2, БГУ 1, ERP, УПП, КА 2, КА 1, УХ 3, УХ 1, УНФ). Гибкая настройка (отборы, заполнение реквизитов и любых полей корр. счета, возможность обнулять ресурсы выборочно). Несколько режимов работы. Два интерфейса: простой и с расширенным набором настроек.
2 стартмани
19.11.2018 35717 437 morozov.sv 56
Очистка замеров производительности - даешь больше места на диске (= меньше хлама в базе)
Вы могли и не знать, но у Вас в базе может быть несколько сотен тысяч записей о производительности системы. А появились они там благодаря встроенной в БСП подсистеме "Оценка производительности". И думаю что далеко не каждый из Вас реально собирается оценивать производительность своей системы. Специально для тех кто, как и я считает, что ему абсолютно не нужны все эти записи в базах и была создана эта обработка.
1 стартмани
31.10.2018 27224 258 1c.pro.fun 27
Перенос организации в отдельную базу, полная очистка базы от данных организации (версия от 09.11.2021)
Данная обработка позволяет удалить организацию и все связанные с ней данные – документы, элементы справочников, записи регистров сведений. Обработка полезна для выделения организации в отдельную базу. Доработано для ЗУП 3.1, УТ 11.4, возможно других
4 стартмани
14.08.2018 23834 445 serge_msk 71
Удаление движений непроведенных документов. УФ.
Обработка помогает в закрытии отчетных периодов в программах 1С.
3 стартмани
02.07.2018 14537 93 PSMNN 2
Очистка периодических регистров посредством T-SQL (удаление записей, кроме среза последних)
Обработка для ленивых. Составит вместо Вас запрос для SQL, который удалит все не актуальные записи (т.е все, кроме среза последних)
5 стартмани
22.06.2018 20954 21 Alexander.Shvets 9
Помощник удаления и очистки объектов
При удалении помеченных не всегда понятно, почему не удаляется например элемент справочника. Написано, что на него ссылается какой-то документ. Заходим в этот документ - и не понятно, где именно смотреть этот элемент, и как его почистить. Особенно, если это какой-то полуслужебный элемент типа "ключ аналитики". Данное расширение выводит информацию, где именно в документе или в движениях этого документа содержится ссылка на удаляемый объект. Второе расширение помогает удалять дополнительные реквизиты объектов, а именно убирает этот дополнительный реквизит из всех объектов, где он прописан в табличной части "Дополнительные реквизиты".
Читайте также: