Универсальная обработка выборочного удаления элементов справочника, документов (обычные и управляемые формы)

14.11.24

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обработка удаления элементов справочника, документов (обычный интерфейс)
.epf 6,73Kb
9
9 Скачать (1 SM) Купить за 1 850 руб.
Обработка удаления элементов справочника, документов (управляемый интерфейс)
.epf 9,53Kb
10
10 Скачать (1 SM) Купить за 1 850 руб.

Случилось как-то, что в одной базе при выполнении "Тестирования и исправления..." в режиме "Реструктуризация таблиц базы данных" столкнуться мне с ошибкой со страшной формулировкой:

В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец "_Fld888", таблицы "Торговля.dbo._Reference66NG"; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

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

Штатным способом пометить на удаление элементы с кодом типа "F0000000N" не представлялось возможным.

универсальная обработка для 1С 8 удаление без проверки ссылок для справочника документа

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

1С 8 как удалить объект базы без проверки ссылочной целостности

Но факт состоял в том, что было точно известно, что эти элементы лишние и ничего от них не зависит. А следовательно их можно удалить. Тем более если их не удалить, то "критическая ошибка" не была бы устранена.

Тестировалась в 1С: Бухгалтерия предприятия, ред. 2.0, релиз 2.0.66.39; ред. 3.0, релиз 3.0.64.28. Подойдет к любым конфигурациям.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 2.0, релизы 2.0.47.9
  • Управление торговлей, редакция 10.3, релизы 10.3.5.1
  • Зарплата и управление персоналом КОРП, редакция 2.5, релизы 2.5.42.3
  • Комплексная автоматизация, редакция 1.1, релизы 1.1.6.1
  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.10.226
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.34.11
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.1.60
  • Управление торговлей, редакция 11, релизы 11.2.3.95
  • 1С:Комплексная автоматизация 2, релизы 2.0.3.181
  • 1С:ERP Управление предприятием 2, релизы 2.0.6.19

1С 8 обработка универсальная выборочное удаление без проверки ссылочной целостности элемента справочника документа объекта базы

См. также

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14882    109    46    

108

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

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

9600 руб.

22.02.2013    139208    264    144    

435

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

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

3582 руб.

16.03.2015    197011    217    82    

252

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

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

3350 руб.

28.11.2019    26452    62    16    

77

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

Если вы начали работать в программном продукте Управление Торговлей, редакция 11 или Комплексная Автоматизация редакция 2 и включили механизм учёта серий, то перейти обратно в учёт без серий будет не так-то просто. Сложность заключается в том, что нужно очистить серии в табличной части документа, например, Реализация Товаров и услуг. Предлагаем алгоритм перехода на учет без серий для программного продукта УТ11. (Очистка серий.)

2400 руб.

09.04.2019    29375    44    15    

46

Чистка данных Системный администратор Программист Бухгалтер Пользователь Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

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

3960 руб.

27.06.2018    19324    11    3    

16

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

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

1 стартмани

25.10.2023    5620    5    SerVer1C    26    

23

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

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

06.02.2023    21662    1475    Neiron_1C    22    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mr.Samuelson 02.11.18 09:29 Сейчас в теме
А этого точно нет в ИР?
4. zhuravlev_as 462 02.11.18 11:28 Сейчас в теме
(1) извините, но наш мир так переполнен аббревиатурами, что не понимаю, что Вы имели ввиду под "ИР"?
6. mr.Samuelson 06.11.18 09:26 Сейчас в теме
(4) Инструменты разработчика - это такая подсистема с большим набором самых разнообразных обработок для 1С.
7. zhuravlev_as 462 06.11.18 11:13 Сейчас в теме
(6) суть расшифровки ясна. Вы имеете ввиду эту разработку https://infostart.ru/public/15126/ ?
8. mr.Samuelson 06.11.18 11:16 Сейчас в теме
9. zhuravlev_as 462 06.11.18 11:26 Сейчас в теме
(8) Я даже к своему стыду как-то и не знал о существовании таковой. Бегло посмотрел описание. Там прямо всего-всего так много. По описанию кажется, что вроде есть, но не внятно расписано. Ровно такой формулировку, под которой опубликовал свою обработку в описании "инструментов", не нашел. Но, даже если и есть, то кажется, можно заблудиться во всем функционале обработки, прежде чем найти функцию.
2. alex_4x 87 02.11.18 10:22 Сейчас в теме
Удаляется прямым запросом к SQL базе?
3. zhuravlev_as 462 02.11.18 11:25 Сейчас в теме
(2) не спорю, конечно можно и запросом к SQL-базе, но это когда у Вас есть доступ к SQL. Конкретно в данной ситуации, связанной с публикацией, у клиента доступ к SQLю админом сервера не был предоставлен заранее. А проблему надо было решать оперативно, точнее уже в нерабочее время, когда админ не доступен. К тому же еще вопрос эргономики. Запрос кончено можно составить. Но его же еще нужно составить и правильно, чтобы чего нужного вследствии неудачно составленного запроса не удалить. А так обработку открыл, предварительно идентифицировав объект базы и удалили - эргономика)))
5. alex_4x 87 02.11.18 11:59 Сейчас в теме
(3) Я просто подумал, что штатной командой 1С Объект.Удалить() - платформа не давала это сделать. Такое теоретически может быть.
Оставьте свое сообщение