Универсальное удаление движений регистров накопления по всем непроведенным документам

27.09.19

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

Попалась база КА 2.4 с движениями по регистрам, у которых регистратор был непроведен или помечен на удаление. Написал небольшую обработку по удалению таких записей из регистров.

Файлы

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

Наименование Скачано Купить файл
Универсальное удаление движений по регистру накопления по всем непроведенным документам:
.epf 6,20Kb
51 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

В цикле собираю мега-запрос ко всем регистрам накопления, группирую по регистратору и имени регистра.

Создаю набор записей, устанавливаю отбор по регистратору и записываю набор.

Тестировал на платформе 1С:Предприятие 8.3 (8.3.14.1565)

Обработка универсальная, будет работать на любой конфигурации. Открывается через "Файл" - "Открыть".

Вступайте в нашу телеграмм-группу Инфостарт

удаление движений регистру регистратор непроведен помечен удалить

См. также

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

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

12139 руб.

16.03.2015    281781    264    84    

296

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

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

14640 руб.

22.02.2013    147938    293    155    

461

Универсальные функции Зарплата Кадровый учет Программист 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Бесплатно (free)

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

14.11.2018    515535    GeterX    213    

1252

Универсальные функции Кадровый учет Программист 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

07.11.2018    162958    fromlion    51    

182

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

Вы могли и не знать, но у Вас в базе может быть несколько сотен тысяч записей о производительности системы. А появились они там благодаря встроенной в БСП подсистеме "Оценка производительности". И думаю что далеко не каждый из Вас реально собирается оценивать производительность своей системы. Специально для тех кто, как и я считает, что ему абсолютно не нужны все эти записи в базах и была создана эта обработка.

1 стартмани

31.10.2018    49383    467    1c.pro.fun    37    

94

Печатные формы Универсальные функции Email рассылки Программист Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием Абонемент ($m)

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    44115    25    stvorl    1    

21

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

Пара полезных процедур для работы с дополнительными реквизитами на форме. Далее в статье: 1. Как называются дополнительные реквизиты на форме и в какой момент они появляются на форме? 2. Как проверить до записи корректность заполнения пользователем дополнительного реквизита? 3. Как заполнить значение дополнительного реквизита по другому событию и обновить данные на форме? 4. Как расположить дополнительный реквизит в указанном месте на форме?

15.07.2018    130303    papche    94    

321
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. skeptik2105 27.09.19 13:56 Сейчас в теме
Ваша обработка ошибочно удалит движения документов, у которых отключено проведение (Проведение = Запретить в конфигураторе).
2. Йожкин Кот 1009 27.09.19 14:36 Сейчас в теме
На достаточно большой базе будет либо неоправданно долго работать, либо упадет из-за недостатка памяти вот из-за этой строки:
Не Регистр.Регистратор.Проведен
3. Йожкин Кот 1009 27.09.19 14:39 Сейчас в теме
Ну еще и "Выбрать различные" вместо "Выбрать" нужно и "Объединить" вместо "Объединить все"...
4. John_d 6116 27.09.19 16:25 Сейчас в теме
(3) Протестировал. Если добавить "Выбрать различные", то 1с предприятие падает с ошибкой.
The query processor ran out of internal resources and could not produce a query plan.
This is a rare event and only expected for extremely complex queries or queries that reference a very large number of tables or partitions.
Please simplify the query. If you believe you have received this message in error, contact Customer Support Services for more information.

А в "Объединить" не вижу смысла, т.к. результаты запросов будут разные по двум измерениям "имя регистра" и регистратор.
9. bugagashenka 206 01.10.19 07:10 Сейчас в теме
(4)
The query processor ran out of internal resources and could not produce a query plan

Ошибка заключается в том, что SQL отказался с Вами играть и попросил переделать запрос
5. timm00 141 27.09.19 18:19 Сейчас в теме
Не проще написать: РегистрыНакопления[<ИмяРегистра>].СоздатьНаборЗаписей(); ?
6. CheBurator 3234 30.09.19 00:37 Сейчас в теме
я не спец, но может как-то сразу ограничить подмножестова?
- выбираем все виды документов, которые по настройкам конфигурации могут быть проведены;
- по полученным видам собираем все непроведенные доки;
- для всех непроведенных доков ищем записи проведения в регистрах...

так правильнее будет или нет?
user811769; +1 Ответить
7. John_d 6116 30.09.19 09:17 Сейчас в теме
(6) Можно было и таким путем пойти. Но у меня была цель универсальность. Если со временем добавят новые документы и новые регистры. Мой метод будет работать.
10. bugagashenka 206 01.10.19 07:10 Сейчас в теме
(7) С новыми да, пока они не разрастутся.
8. bugagashenka 206 01.10.19 07:08 Сейчас в теме
1. У Вас запрос собирается текстом. Почитайте про конкатенацию строк
https://its.1c.ru/db/v8std#content:782:hdoc
2. НЕ Регистр.Регистратор.Проведен. Тут сразу две ошибки в запросе. Первая - обращение через точку к составному типу(чаще всего регистр двигают несколько документов), и вторая - отрицание, что делает невозможным поиск по индексу.
3. ТИПЗНАЧЕНИЯ(Регистр.Регистратор) - вычисления по полю так же исключает поиск в индексе.В этой же строке <>
4. Итоговая группировка при КМК абсолютна лишняя, гораздо выгоднее сразу выбирать различные.
5. Упорядочивание по периоду так же лишняя, если учесть, что интерактивного анализа не подразумевается. Сортировка очень тяжелая операция.
6. В случае исключительной ситуации выполнение упадет, при этом придется так на каждую ошибку запускать заново. при этом целостность движений может пострадать, хоть эти движения и считаются лишними.
7. Команда выполнить не совсем к месту.

Как итог, самые большие проблемы в запросе. Если запустить Вашу обработку на системах с таблицами более миллиона записей, с несколькими регистраторами, то DBA Вам по пальцам настучит.
jONES1979; user811769; +2 Ответить
11. John_d 6116 01.10.19 10:15 Сейчас в теме
(8)Спасибо за подробный разбор.
1. Исправил.
4. Так сразу падает 1с. Выше писал(4)
5. Убрал. Решал другую задачу.
7. Убрал
12. bugagashenka 206 01.10.19 10:55 Сейчас в теме
(11) п.2 и 3 особо критичны.
п.4 будет работать после исправления п.2 и п.3
13. John_d 6116 01.10.19 11:00 Сейчас в теме
(12) Каким образом можно убрать конструкцию Регистр.Регистратор.Проведен, если мне нужны все непроведенные документы?
14. bugagashenka 206 01.10.19 13:55 Сейчас в теме
(13)ограничением типа документа и объединение со всеми типами.
Не забывайте, что mssql имеет ограничение на 256 таблиц.
В конструкции регистратор. Проведён будет неяное соединение с каждой таблицей составного типа для каждой записи
15. ИНТЕГРА 27 24.10.19 20:50 Сейчас в теме
Давно такого говнокода не попадалось)

Мое решение для "консоли запросов" на скрине к этому сообщению (для КА 2.4).
Прикрепленные файлы:
VitalyKepov; +1 1 Ответить
16. namazi74 5 23.08.20 10:51 Сейчас в теме
(15) извиняюсь за оффтоп, откуда можно достать такую же консоль? или она только в КА?
user1246899; +1 Ответить
17. _linker 03.08.21 15:46 Сейчас в теме
(15)Чем ваш код лучше? Тем, что еще, помимо операции записи регистра, получает объект (документ)?
18. user1647665 13.04.22 17:35 Сейчас в теме
не работает вообще ((
19. John_d 6116 14.04.22 11:39 Сейчас в теме
20. user1647665 14.04.22 12:51 Сейчас в теме
(19) Да я понял, в чем там дело. Нужно бы доработать. Документ реализации не является регистратором движений для этого регистра накопления. Поэтому обработка и не смогла удалить это движение. Ну и тд. Там много всего на самом деле нужно доделывать. В том числе с корректировкой регистров.
21. InfoTecs 12.03.25 13:17 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация