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

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

1. Выбираем ссылки документов — регистраторов:
Код 1C v 8.х

2. Далее:
— Создать набор записей
— Установить на него отбор по регистратору
— Записать набор (так как передаваемые значения пусты — получается мы пишем пустой регистр , соответственно стираем старую запись)
Код 1C v 8.х

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

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

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

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

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

Скачать файлы

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

(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.

А в "Объединить" не вижу смысла, т.к. результаты запросов будут разные по двум измерениям "имя регистра" и регистратор.

я не спец, но может как-то сразу ограничить подмножестова?
— выбираем все виды документов, которые по настройкам конфигурации могут быть проведены;
— по полученным видам собираем все непроведенные доки;
— для всех непроведенных доков ищем записи проведения в регистрах.

так правильнее будет или нет?

1. У Вас запрос собирается текстом. Почитайте про конкатенацию строк
https://its.1c.ru/db/v8std#content:782:hdoc
2. НЕ Регистр.Регистратор.Проведен. Тут сразу две ошибки в запросе. Первая — обращение через точку к составному типу(чаще всего регистр двигают несколько документов), и вторая — отрицание, что делает невозможным поиск по индексу.
3. ТИПЗНАЧЕНИЯ(Регистр.Регистратор) — вычисления по полю так же исключает поиск в индексе.В этой же строке <>
4. Итоговая группировка при КМК абсолютна лишняя, гораздо выгоднее сразу выбирать различные.
5. Упорядочивание по периоду так же лишняя, если учесть, что интерактивного анализа не подразумевается. Сортировка очень тяжелая операция.
6. В случае исключительной ситуации выполнение упадет, при этом придется так на каждую ошибку запускать заново. при этом целостность движений может пострадать, хоть эти движения и считаются лишними.
7. Команда выполнить не совсем к месту.

Как итог, самые большие проблемы в запросе. Если запустить Вашу обработку на системах с таблицами более миллиона записей, с несколькими регистраторами, то DBA Вам по пальцам настучит.

Давно такого говнокода не попадалось)

Мое решение для "консоли запросов" на скрине к этому сообщению (для КА 2.4).

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

Процедура позволяющая удалить движения

В параметр процедуры передаем ссылку на документ, у которого необходимо очистить движения. Если вы хотите вызывать данную процедуру из общего модуля, то после имени процедуры необходимо добавить ключевое слово Экспорт.

Если вы хотите узнать, как обнулять остатки по регистрам накопления, прочитайте статью Обнуление остатков регистров накопления 1с

Наименование Файл Версия Размер
Читайте также:  Adreno 506 vs adreno 530
Ссылка на основную публикацию
Топ лучших видеокарт для игр
Видеокарты крайне быстро улучшаются, практически каждые полгода выходит видеоадаптер, значительно превосходящий предшественника. Активный прогресс обусловлен быстрым увеличением системных требований компьютерных...
Телефон леново включается но не запускается
Бывает, что пользователь включает свой смартфон, процесс доходит до заставки (логотипа) и дальше не грузится. Сразу начинается паника, ведь телефон...
Телефон леново инструкция для чайников
Большинство из нас чувствует себя неуверенно, когда приходится знакомиться с новой операционной системой. И несмотря на то, что Андроид сегодня...
Топ приложений для запоминания слов
Топ-8 приложений, где запоминать английские слова Приложения для изучения английских слов помогают быстро и эффективно пополнять словарный запас. Без работы...
Adblock detector