Способ удаления движений документа, если сам документ удален, но по нему остались движения с битыми ссылками

01.07.09

База данных - Чистка данных

Способ удаления движений документа, если сам документ удален, но по нему остались движения с битыми ссылками

В случае, когда после удаления документа на него остались битые ссылки в движениях по регистрам, нужно:

1. Создать документ такого-же типа и записать его.

2. В Enterprise manager-е заменить идентификатор нового документа на идентификатор удаленного (пример скрипта можно посмотреть здесь).

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

5. Открыть первый созданный документ.(Если нажать: перейти -> движения документа по регистрам, то увидим все движения удаленного документа).

6. Нужно провести документ и распровести - все движения удаляться.

7. Удалить непосредственно два созданных документа.

См. также

Удаление данных с отбором и построением дерева ссылок в базах 1С 8.1-8.3 УТ 10.3./11, БП 2/3, ЗУП 2.5/3, КА 1.1/2, УНФ 1.6/3.0

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 04.10.2023, версия 4.2)

9600 руб.

22.02.2013    136149    249    144    

418

Универсальное выборочное удаление данных из базы 1С (любые конфигурации на упр.формах: БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и т.д.)

Чистка данных Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

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

3350 руб.

28.11.2019    24449    49    16    

61

SALE! 10%

Выборочное удаление организаций из баз (управляемые формы), с удалением всех ссылающихся на эти организации данных

Чистка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Позволяет удалить организации из любых программ на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3980 3582 руб.

16.03.2015    113996    182    77    

218

Замена Номенклатуры+Характеристики

Чистка данных Логистика, склад и ТМЦ Платформа 1С v8.3 План видов характеристик 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Настраиваемая обработка, позволяющая заменить пару: Номенклатура+Характеристика в документах, их движениях и независимых регистрах сведений. Без перепроведения. Поможет, если вы по каким-то причинам решили отказаться от характеристик

3600 руб.

04.08.2015    41200    89    70    

50

Удаление битых ссылок 1С в базе без монопольного режима

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если в вашей информационной базе крутится очень много данных, или база должна быть доступна 24/7 (как в моем случае), или же вы боитесь запускать тестирование и исправление, НО существует потребность удалить битые ссылки, тогда эта обработка сможет Вам помочь. Обработка выявляет битые ссылки как в самих объектах метаданных, так и в их табличных частях(!), а так же может их удалить.

2400 руб.

23.08.2021    9295    15    3    

20

Очистка регистров сведений от записей по помеченным на удаление элементам

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

1200 руб.

21.01.2022    7163    5    6    

9

Очистка кэша 1С. Исполнитель

Чистка данных Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    4623    4    SerVer1C    25    

22

Очистка регистра накопления. Очистка регистра сведений.

Чистка данных Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 Бесплатно (free)

ВАЖНО!!! Очистку регистров накопления и регистров сведений рекомендуется делать пользователям со знанием дела и с осознанием последствий! Обработка поможет быстро очистить выбранный регистр. Делаю данную обработку в первую очередь для себя, т.к. были случаи, когда нужно было очищать регистры, а делать красиво и удобно времени не было.

06.02.2023    13000    867    Neiron_1C    15    

18
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Gamm 13 01.07.09 17:07 Сейчас в теме
Зачем такой сложный алгоритм? Берем ссылку на удаленный объект и записываем пустые наборы записей по всем регистрам.
Вот короткая процедура для очистки произвольного регистра от движений по удаленным объектам.

Процедура УдалениеБитыхСсылок(ИмяРегистра,ТипРегистра,ТипРегистраЗ)
МенеджерРегистра = ТипРегистра[ИмяРегистра];

Запрос = Новый Запрос("
|ВЫБРАТЬ Регистратор
|ИЗ "+ТипРегистраЗ+"."+ИмяРегистра+"
|ГДЕ Регистратор.Номер ЕСТЬ NULL И НЕ Регистратор = &ПустаяСсылкаДокумента");
Запрос.УстановитьПараметр("ПустаяСсылкаДокумента",Неопределено);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Набор = ТипРегистра[ИмяРегистра].СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(Выборка.Регистратор);
Набор.Записать();


ОбработкаПрерыванияПользователя();
Состояние(""+ТипРегистра+" "+ИмяРегистра);
КонецЦикла;
КонецПроцедуры

primara; user795408; philya; +3 Ответить
2. KapasMordorov 428 01.07.09 17:07 Сейчас в теме
Зачем же так сложно-то? А если база файловая?


Для Каждого МетаданныеРегистра Из Метаданные.РегистрыНакопления Цикл
ИмяРегистра = МетаданныеРегистра.Имя;
Сообщить("Регистр накопления = "+ИмяРегистра);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| "+ИмяРегистра+".Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления."+ИмяРегистра+" КАК "+ИмяРегистра+"
|
|ГДЕ "+ИмяРегистра+".Период>=&ДатаНач
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("ДатаНач",ДатаНач);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ОбработкаПрерыванияПользователя();
РегистраторНаименование = Строка(Выборка.Регистратор);
Если Найти(РегистраторНаименование,"<Объект не найден>")>0 Тогда
Сообщить(РегистраторНаименование);
КонецЕсли;
КонецЦикла;
КонецЦикла;
3. KapasMordorov 428 01.07.09 17:10 Сейчас в теме
уупс, не тот фрагмент вставил.

Для Каждого МетаданныеРегистра Из Метаданные.РегистрыБухгалтерии Цикл
ИмяРегистра = МетаданныеРегистра.Имя;
Сообщить("Регистр бухгалтерии = "+ИмяРегистра);
Набор = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| "+ИмяРегистра+".Регистратор КАК Регистратор
|ИЗ
| РегистрБухгалтерии."+ИмяРегистра+" КАК "+ИмяРегистра+"
|
|ГДЕ "+ИмяРегистра+".Период>=&ДатаНач
|
|УПОРЯДОЧИТЬ ПО
| Регистратор
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("ДатаНач",ДатаНач);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ОбработкаПрерыванияПользователя();
Состояние(Выборка.Регистратор);
РегистраторНаименование = Строка(Выборка.Регистратор);
Если Найти(РегистраторНаименование,"<Объект не найден>")>0 Тогда
Сообщить(РегистраторНаименование);
Набор.Отбор.Регистратор.Значение = Выборка.Регистратор;
Набор.Отбор.Регистратор.Использование = Истина;
Если Удалять Тогда
Набор.Записать();
Иначе
Набор.Прочитать();
Для Каждого Проводка Из Набор Цикл
Сообщить("ДТ "+Проводка.СчетДт+" КТ"+Проводка.СчетКт+" Сумма="+Проводка.Сумма);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
svilsa; tigra3111; airtau; VEkaterina; +4 Ответить
4. roman20090626 27 01.07.09 18:32 Сейчас в теме
Во-первых, таким способом можно практически восстановить удаленный документ, а во-вторых это намного проще и быстрее чем писать обработину, которая будет по всем регистрам искать и удалять все записи с битыми ссылками.
5. KapasMordorov 428 02.07.09 09:53 Сейчас в теме
Серьёзно?
Вот это вот
""1. Создать документ такого-же типа и записать его.

2. В Enterprise manager-е заменить идентификатор нового документа на идентификатор удаленного (пример скрипта можно посмотреть здесь).
"" и далее по всем пп.
намного проще (С) один раз написанной обработки?
6. nikolega 174 15.11.10 18:05 Сейчас в теме
А не проще ли запустить тестирование и исправление с созданием объектов?
И удаляй потом что хочешь ... Только корректно. 8-)
7. Aydrey 08.11.11 16:05 Сейчас в теме
Большое спасибо. простой и ничего лишнего. спасибо за сэкономленное время.
Оставьте свое сообщение