Корректировка остатков регистров накопления

Обработки - Свертка базы

Внешняя обработка, предназначенная для удобного и быстрого исправления остатков регистров накопления (посредством автоматического ввода документов "Корректировки записей регистров", "Операция", содержащих движения, приводящие существующие остатки к желаемым). Позволяет корректировать и обнулять по аналитике и суммам остатки регистров учета товаров, партий, взаиморасчетов, налогового учета по НДС, РАУЗ, и др.

Назначение:

Автоматически сформировать такой документ корректировки, который бы привел существующие остатки регистра накопления к желаемым нами.

Существует аналогичная обработка для корректировки остатков регистров бухгалтерии.

Применение:

  • исправление ошибок в регистрах, связанных с некорректным ведением учета ранее (если разбираться задним числом неуместно или невозможно)
  • ввод, исправление остатков под желаемые (вы, разумеется, должны понимать, что вы делаете и зачем, и править смежные регистры тоже)
  • быстрое обнуление остатков
  • обнуление отрицательных остатков
  • выборочная свертка базы (фиксация остатков регистров в документе "Корректировка записей регистров", после чего предшествующие документы можно пометить на удаление)

Практические примеры использования:

Обработка полезна на стадии "движения к светлому будущему" при исправлении/восстановлении учета в конфигурациях 1-2 поколения (БП 2.0, УТ 10.3, КА 1.1, УПП 1.3). особенно актуально для двух последних, где практически каждый участок учета находится в нескольких регистрах, и остатки по ним должны быть согласованы.

  • Корректировка неправильных остатков в партионном учете (ПартииТоваровНаСкладах) УТ/КА/УПП под регистр "Товары на складах", под бухучет.
  • Корректировка некорректных суммовых остатков в партионном учете УТ/КА/УПП под количественные.
  • Правки остатков в НТТ (ТоварыВНТТ), особенно когда "упущен" учет в разрезе розничных цен.
  • Корректировки и обнуления остатков в регистрах РАУЗ (УчетЗатрат, УчетЗатратРегл) по аналогии с вышеописанными.
  • Исправление некорректных остатков по регистрам расчетов и взаиморасчетов всех видов в УТ/УПП/КА (ВзаиморасчетыСКонтрагентами, ....ПоДокументамРасчетов, РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации/РасчетыПоРеализацииВУсловныхЕдиницахОрганизации) в валюте рег. учета и взаиморасчетов, приведение их друг к другу для рублевых договоров
  • Исправление остатков по регистрам налогового учета НДС в УПП/КА - НДСНачисленный, НДСПредъявленный, НДСсАвансов и др.
  • Исправление остатков по денежным средствам (ДенежныеСредства, РозничнаяВыручка) и заявкам (ЗаявкиНаРасходованиеСредств, ПланируемыеПоступленияДенежныхСредств).
  • Расскребание регистров комиссионной торговли.
  • Корректировки по всем видам резервов и размещений (РазмещениеЗаказовПокупателей, ТоварыВРезервеНаСкладах и др, и пр).
  • Исправление всех промежуточных учетных регистров (...КПолучению, КПередаче, КСписанию и т.п.)

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

Порядок использования:

  1. Открывается обработка, выбирается дата анализа остатков, регистр накопления, документ корректировки (или задается только тип [Т] для нового документа корректировки), вид движения корректировки (приход или расход).
  2. Устанавливается отбор измерений регистра
  3. Кнопкой "Заполнить по остаткам" заполняется таблица остатков (необязательно)
  4. В таблице остатков вносятся или исправляются записи. Если нужно обнулить регистр - таблица очищается.
  5. Нажимается кнопка "Выполнить", после чего в документ корректировки помещаются такие движения регистра, которые приведут его состояние к заданным в таблице остаткам.

ВАЖНО! Пока вы исполняете п. 4, остальные пользователи могут оперировать данными и изменить остатки корректируемого регистра. У вас, в форме, в желаемых остатках, эти изменения, разумеется, не отразятся. После выполнения корректировки вы, таким образом, получите движения, "отменяющие" работу пользователей. Поэтому, работу над корректировкой остатков целесообразно выполнять в монопольном режиме.

Лайфхак. Если есть предположение, что однажды учет будет исправлен задним числом ДО вашей корректировки, и "развалит" вашу масштабную работу, то есть способ перестраховаться.

Целесообразно ввести две корректировки. Первая, на 23:29:58, будет обнулять остатки регистра полностью в 0. Вторая, на 23:59:59, будет выводить остатки регистра в целевые значения. Тогда, если кто-либо исправит учет задним числом, то во-первых это можно будет отследить, заполнив таблицу обработки на 23:59:58 (если остаток ненулевой, кто-то "влез"), а также легко исправить (мы можем тут же обнулить остаток, при этом вторая корректировка будет снова выводить остатки регистра в целевые значения).

Сделать это можно следующим образом:

  1. Обеспечивается, чтобы ни один документ не делал движений по регистру на 23:59:59 - их можно оттащить назад по времени на 23:59:57, или использовать иные ухищрения -например, выполнять корректировки следующим днем в 0:00:00 / 0:00:01, и в конце всех правок оттаскивать их назад (удобно для 1 января).
  2. Сначала выполняется корректировка регистра на 23:59:59 до целевых значений. Оператор убеждается, что все правильно.
  3. Окно обработки, выполнявшее эту корректировку, перезаполняется без каких-либо отборов, чтобы получить полные остатки. НЕ закрывается.
  4. Открывается второй экземпляр обработки (через Файл-Открыть сделать это непосредственно не получится, но можно скопировать файл и назвать его другим именем. Из Дополнительных внешних обработок - можно открыть два экземпляра без проблем), время устанавливается на 23:59:58, выбирается тип документа корректировки (будет создаваться новый документ). Выбирается целевой регистр.
  5. Таблица не заполняется, нажимаем "Выполнить". Будет заведена корректировка на 23:59:58, обнуляющая регистр.
  6. Возвращаемся к окну из п. 3, нажимаем там "Очистить записи регистра", "Выполнить". Корректировка на 23:59:59 будет заполнена движениями, выводящими регистр к целевым значениям от нуля.

Этот метод подходит не для всех регистров, и не для всех случаев, но иногда бывает крайне полезен.

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

Совместимость

Разработано для обычного приложения, платформа 8.2 и 8.3.

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

  1. Имеются регистры накопления остатков
  2. Имеется документ вида "Операция", "Корректировка записей регистров", "Перенос данных", аналогичный такому же из типовых конфигураций.
  3. Может приложить руку программист, и дописать в модуле обработки функцию для документа какого-либо другого вида.

Изменения

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

Как говорится, не прошло и 5 лет. Извините, коллеги, виноват, был занят.

02.06.17

  • при выборе какой-либо даты, по умолчанию устанавливается время на конец дня (23:59:59). Можно отредактировать вручную. При выборе существующего документа корректировки дата-время устанавливается на его время.
  • добавлена возможность выборочного обнуления отдельных ресурсов
  • добавлена возможность копирования данных из одного ресурса в другой (удобно для регистров с двойными ресурсами, типа ВзаиморасчетыСКонтрагентами, РасчетыПоРеализации и т.п., только для рублевых договоров, разумеется)
  • добавлена возможность очистки таблицы
  • правки мелких ошибок, найденных в ходе 5-летней эксплуатации.

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

Наименование Файл Версия Размер
Корректировка остатков регистров накопления (внешняя обработка)
.epf 23,01Kb
05.06.17
1235
.epf 23,01Kb 1235 Скачать

См. также

Вознаграждение за ответ
Показать полностью
Комментарии
1. Катерина Шах (e-katerina) 125 17.01.12 08:24 Сейчас в теме
Идея отличная. Сейчас проверим.
С ходу есть пожелание для обработки табличной части: неплохо бы добавить кнопку "исправление отрицательных остатков в 0" :)
2. Антон Рощин (wolfsoft) 2415 18.01.12 14:23 Сейчас в теме
И где вы раньше были?... Уже свою написал :D
3. юрий гулидов (gull22) 81 18.01.12 15:16 Сейчас в теме
Отличная штука для исправления РН. Мне понравилась.
Небольшая ложка дегтя. Если:
1. выбираю в качестве документа корректировки "Корректировка записи регитра" с пустым полем обработки (для создания нового документа)
2 использую обработку с отбором по фильтру
то при смене реквизита фильтра не нерезаполнялась табличная часть при нажатии на кнопку "Заполнить остатками". Приходится выходить из обработки и запускать ее по новой.
Если выбирать тип документа корректировки "Корректировка записей регитсра", создавать его, записывать пустым и выбирать в поле, то при перевыборе реквизита фильтра табличная часть перезаполнялась без проблем.
4. Stanislav Orlov (stvorl) 802 18.01.12 20:21 Сейчас в теме
(2) wolfsoft,

Кто же знал что всем нужна такая обработка? :-)
5. Stanislav Orlov (stvorl) 802 18.01.12 20:24 Сейчас в теме
(3) gull22,
Не получилось воспроизвести. Если нетрудно, опишите по шагам подробнее, и укажите конфу.
Я исправлю и выложу.
6. Алмаз Шарипов (cdiamond) 26 19.01.12 10:29 Сейчас в теме
Присоединяюсь к первому оратору, очень нужна кнопка исправления отрицательных остатков на 0.
7. Stanislav Orlov (stvorl) 802 19.01.12 11:17 Сейчас в теме
(6) cdiamond, e-katerina

Согласен, полезно.
Добавлено, см. пункт "Обработка" в командной панели таблицы.
8. Алмаз Шарипов (cdiamond) 26 19.01.12 13:49 Сейчас в теме
(7) stvorl,
Спасибо! Можно немного пояснить последовательность действий для обнуления отрицательных остатков?
1. Ставлю дату и время на момент требуемого обнуления.
2. Выбираю регистр, например партии товаров
3. Выбираю пустой документ корректировки или создаю новый.
4. ?
9. Stanislav Orlov (stvorl) 802 19.01.12 13:57 Сейчас в теме
(8) cdiamond,


Спасибо! Можно немного пояснить последовательность действий для обнуления отрицательных остатков?
...
3. Выбираю пустой документ корректировки или создаю новый.
4. ?


4. Нажимаете кнопку "Заполнить", убеждаетесь что остатки попали в таблицу
5. Нажимаете "Обработать" -- "Обнулить отрицательные значения ресурсов..."
Отмечаете необходимые к обработке поля ресурсов (вы, например, можете пожелать обнулить количество, но не тронуть сумму, или наоборот)
6. Убеждаетесь, что в таблице обнулились отрицательные значения (нулевые ячейки выводятся пустыми).
7. Нажимаете "Выполнить".
8. Перезаполняете таблицу, чтобы прямо тут убедиться, что все стало хорошо (дабы не лазить по отчетам)
10. Алмаз Шарипов (cdiamond) 26 19.01.12 14:01 Сейчас в теме
(9) stvorl,
Правильно ли я понял, что если наложить фильтр по остаткам, чтоб был > 0, сделать заполнение, то получим тот же самый результат? Что-то я ступил похоже :)
11. Stanislav Orlov (stvorl) 802 19.01.12 14:21 Сейчас в теме
(10) cdiamond,

Не совсем. Надо наложить фильтр "ресурс1 < 0", затем сразу нажать "Выполнить" (это как будто мы заполнили таблицу, а потом удалили все строки, сказав что "нет у тебя остатков по данному отбору").
Просто надо иметь ввиду, что в таком варианте, система очистит не значения конкретных ресурсов, а уберет целые строки остатков, подпадающие под фильтр.

Просто это неочевидные и малопредсказуемые возможности, здесь целесообразно было сделать очевидную.

На самом деле у этой обработки, если манипулировать фильтром, масса неочевидных возможностей, которых я сам, как разработчик, даже не могу увидеть заранее.
13. Сергей penzatrade (aser86) 23.01.12 13:41 Сейчас в теме
14. юрий гулидов (gull22) 81 24.01.12 12:06 Сейчас в теме
Скачал новый релиз обработки, проверил ситуацию. Все ОК, замечаний нет. Проверял на Комплексной автоматизации 1.1.16(5) stvorl,
15. Антон Рощин (wolfsoft) 2415 25.01.12 12:30 Сейчас в теме
16. Алексей Непутин (mamanelli) 33 27.01.12 11:09 Сейчас в теме
Плюсану обязательно,
надо скачать и сравнить подход автора со своим видением проблемы (читай, "покатаю на своей базе" :D )
17. Гость 27.01.12 12:06 Сейчас в теме
Подскажите, обработка привязана к каким-то общим модулям конфигураций? Есть ли возможность использовать ее на ооочень сильно нетиповой конфигурации? Необходимый минимум объектов в конфигурации для применения?
И хотелось бы оценить вариант для 8.1. можно его как-то получить?
18. Игорь (doronin70) 28.01.12 11:54 Сейчас в теме
А как корректировать регистры расчета?
19. Елена (elena_77) 31.01.12 11:42 Сейчас в теме
Полезная обработка. Обязятельно скачаю, чтобы воспользоваться.
20. Елена (elena_77) 31.01.12 11:42 Сейчас в теме
21. Кэрин Веселенькая (hnya) 31.01.12 16:19 Сейчас в теме
о, обработка, которая никогда не будет лишней. думала сама над тем, как ускорить процесс корректировки, а здесь уже готовое решение. спасибо, порадовали.
22. Алекс Смирнов (goodwin12) 02.02.12 10:48 Сейчас в теме
Обработка не работает, остатки не правильно определяет, регистры не обнуляет. ЗУП 8.2
23. Sieg Heil (mdie) 76 04.02.12 07:02 Сейчас в теме
Полезная вещь при различных переносах и обменах между 7.7 и 8.2, спасибо
24. WendyH (WendyH) 04.02.12 08:13 Сейчас в теме
Спасибо, но нужно указать для каких, всё-таки, конфигураций она подходит.
25. Сергей Серебренников (SSO) 06.02.12 12:18 Сейчас в теме
Интересное решение. Помогла при исправлении остатков в регистре накопления "Зарплата за месяц сотрудников организации". Криво были перенесены остатки из 1с 7 ЗИК в Комплексную Автоматизацию 1.1. Спасибо.
26. Гость 08.02.12 10:27 Сейчас в теме
{(1,13)}: Процедура или функция с указанным именем не определена (ДвиженияВДокумент_ПереносДанных)
Результат = <<?>>ДвиженияВДокумент_ПереносДанных(ДокументОбъект, ТаблицаДвижений, МетаданныеРегистра)


После того как нажимаю выполнить выходит вот эта ошибка...(((
27. Rino (Rino) 08.02.12 12:26 Сейчас в теме
Интересное решение, Спасибо
28. Yalo (yalo) 08.02.12 13:25 Сейчас в теме
Часто приходилось править регистры накопления, написала подобную обработку. Очень нужная вещь.
29. Petr Ivanov (goodman12) 4 09.02.12 06:09 Сейчас в теме
Хорошая штука для своих целей. Но я думаю, не зря в штатных механизмах такой обработки нет, регистры накопления-то двигаются документами, а значит, если остатки вас не устраивают, нужно править документы и вести нормальный учет. Но это если правильно....а так, на поле боя вещь полезная :)
30. Алексей Аборин (commo) 10.02.12 14:02 Сейчас в теме
31. Андрей Иванов (Jackman) 13.02.12 01:12 Сейчас в теме
Не очень понятно как выводить регистр в ноль. Заполнять таблицу с остатками регистра и вручную обнулять ресурсы в ноль? Если да - может нужно добавить кнопку "Обнулить ресурсы", которая будет это делать автоматически?
32. Виталий Фантич (Boudybuilder) 53 13.02.12 01:38 Сейчас в теме
Полезная штука, ато у меня много минусов...
И щас не охота рыться и смотреть где да что...
33. Виталий Фантич (Boudybuilder) 53 13.02.12 01:39 Сейчас в теме
Будем качать , будем пробовать .
Но все таки регистры должны отображать реальность ...
34. Max But (unsimple) 25 27.02.12 10:46 Сейчас в теме
Хорошая вещь. Пригодится. Спасибо
35. Владимир Лагутин (Lukich66) 79 27.02.12 15:06 Сейчас в теме
(11) stvorl,приветствую Вас коллега.
Из Вашего Help:
Предназначена для корректировки остатков регистров накопления.
Выбирается регистр накопления, пользователем вводятся целевые остатки. Затем автоматизированно
заполняется документ корректировки записей регистров, таким образом, что остатки регистра накопления приводятся ко введенным целевым.

Но хочу высказать и свое мнение.
1."Остатки на конец секунды "- за 20 лет в бух и учете подобное встречаю впервые, поэтому смело выбираю 31.12.2011 и О! Ужас- время то 0:00:00- это проверка на трезвость или издевательство? (тогда уж извольте 23:59:59)
2.Выбираю РН ТоварыНаСкладах. Оч.бы не плохо- если бы работал "текстовый" поиск а то крутить Динаму...
3.Выбираю док "корректировка записей регистра",конкретно создаю новый - на тебе Дата и Время Дока совсем не из "Остатки на конец секунды"- первое замешательство!
Если я получаю данные на точку времени t1, то каким должно быть время дока коррекции (t2),на которое я произведу "корр.действия"- ладно едем дальше.
Вид движения-? А что "механизма" сама не сообразит , что делать( Авто,приход,расход)?
3.Отбор- оч.неплохо- единственное добавил бы интеллекта: если выбран только один склад или одна номенклатура,то эти колоночки в ТЧ можно и АвтоПрикрыть,при изменениях в отборе автоочистка ТЧ-это стандарт,иначе т.Катя накорректирует.
4.Варианты обработок достаточно скудны( видели ли как работает механизм установки цен в бух,торг -есть что перинять)+ обязательно бы добавил возможность "ВЫРАЖЕНИЯ"- чуднейший прием в UNIREPS82, и вообще раз "ДИФФЕРЕНЦИАЛЬНАЯ"-(если просто перевод- различная, а то что-то в интегралы бросило)- то можно бы и любой реквизит "бахнуть"- характеристики например.
5.От кнопки "ВНИМАНИЕ"-тихий восторг и мучительное обдумывание- а оно мне надо?
6.Кнопки "Очистить записи регистра" и "Очистить записи ВСЕХ регистров"- это явный подарок мальчишу-плохишу.
Сначала обрадовался-потом испугался- а вдруг никакой защиты от "дурака"- окончательно понял ,что придется смотреть код ( а что без Выполнить никак?)
----
И последнее. То ли я дурак, то ли лыжи не едут, а что если бы для простоты душевной если только цифры править то тупо доп.колонку КоличествоУстанавливаемое( или суммаУст- это от вариантов чего делать) и путем Результат=КоличествоУстанавливаемое-Количество и с приходом и расходом бы разобрались, а КолвоУстанавливаемое любая т.Маша поймет.
Вот на такой грустной ноте предстоит сегодня вечером её озадачить- наверняка не справится,чую?
37. finch (fin7) 10.04.12 18:13 Сейчас в теме
Спасибо! Хорошая разработка. Пригодилась не раз
38. Art Ivanov (Kanareika13) 18.04.12 10:19 Сейчас в теме
41. Dark Kardinal (dark_kardinal) 10 26.04.12 13:27 Сейчас в теме
А есть такая же для регистра Сведений? :)
42. bar.mina (kuz.mina) 27.06.12 10:42 Сейчас в теме
Большое спасибо автору!
SunShinne; +1 Ответить
43. Iwan Pleshkow (Iwan777) 09.07.12 13:03 Сейчас в теме
Хорошая вещь. Пригодилась.
44. Александр Удалов (higs) 26.07.12 10:09 Сейчас в теме
Прочитал все комментарии. К (35) присоединяюсь. Добавить больше пока нечего, но, думаю, исправлений вряд ли дождаться, так что можно и самому поправить.
Спасибо!
SunShinne; +1 Ответить
45. Валентина Ерина (erina_valentina) 85 21.09.12 10:28 Сейчас в теме
Спасибо за обработку! Очень пригодолась!
46. Людмила Артемьева (l-Rain) 29.10.12 09:01 Сейчас в теме
Качаю, автору спасибо, плюс.
47. Vond Pufilov (Vond) 07.01.13 23:14 Сейчас в теме
что то не получается, выполняю по пунктам, получаемый документ корректировки пустой. Пришлось закоментарить 3 строки после // Допишем то, что нам нужно получить - со знаком плюс. Тогда документ заполнил то что надо - обнулил остатки регистра.
Конфигурация типовая УПП для Украины.
48. Оксана (2791) 8 22.02.13 18:44 Сейчас в теме
(47) Vond,
У меня тоже в Конфигурация типовая УПП для Украины не работает "выполнить". Так же закоментировала 3 строки
49. Алексей Роза (DoctorRoza) 04.04.13 16:01 Сейчас в теме
Спасибо! Пригодится для старенькой УПП 1.2
..
За
Выполнить("Результат = ДвиженияВДокумент_"+ИмяТипа+"(ДокументОбъект, ТаблицаДвижений, МетаданныеРегистра)");
поставил бы еще плюс, не знал про такой механизм! :)
50. Сергей Алферов (SunShinne) 599 13.10.13 15:10 Сейчас в теме
51. Лариса Матрос (27272) 09.12.13 05:38 Сейчас в теме
А никто не пробовал, под УТ82 11.1 работать будет?
52. Владимир Тишунин (Tishu) 3 22.01.14 04:16 Сейчас в теме
нет возможности в корректирующих движениях указывать реквизиты - тем самым не подходит для корректировки НДФЛ после переноса из 77
53. Владимир Тишунин (Tishu) 3 25.01.14 23:23 Сейчас в теме
Добавил в обработку табличной части формы обнуление ресурсов и установку реквизитов регистра и применил в ЗУП после переноса большой базы ЗиК (2000 чел) для корректировки НДС к Зачету (обнуление ресурса), Взаиморасчеты (установка ресурса в значение остатков по расчетной ведомости до обнуления НДС к зачету) и НДС расчеты с бюджетом (установка реквизита обособленное подразделение и обнуление ресурсов). Использовать документ Возврат НДФЛ не получилось из-за бардака с НДФЛ удерженным и переплаченным в ЗиК. В итого очень помогло - руками такой объем корректировок выполнить не возможно. Ставлю +
54. Вася Пупкин (dakarus) 07.07.14 10:50 Сейчас в теме
С ут 11 я так понял не работает???
55. Андрей Конев (Infector) 90 30.10.15 15:34 Сейчас в теме
Господа, а для регистров бухгалтерии такой штуки нет случаем? Вылез косяк пользователей с субконто, в итоге отрицательные суммы с положительными на 57.22 нужно схлопнуть. (итог нулевой)
56. gaubiza (gaubiza) 19.05.16 09:49 Сейчас в теме
Спасибо, очень выручило!
57. Михаил Косовов (z8491) 03.06.16 13:30 Сейчас в теме
58. Алексей Азов (unknown181538) 17 04.04.17 20:06 Сейчас в теме
То, что нужно! Только не нашел, как обнулить полностью, но дописал сам за минуту.
59. Леопольд Роскошный (ЛеваРоскошный) 32 18.04.17 12:02 Сейчас в теме
хорошая вещь!
но надо переписать на 8.3
сам перепишу буду использовать в ERP 2.2
автор не против?
60. Nina Mednikova (mni) 20.04.17 12:59 Сейчас в теме
Подскажите, поможет ли мне Ваша обработка в моём случае:
Регистр накопления очистила в нуль, а остатки регистра накопления остались.Они удалятся?
61. Stanislav Orlov (stvorl) 802 02.06.17 22:51 Сейчас в теме
Выложил обновление, и постарался учесть пожелания.
Спасибо за положительные отзывы и звезды за все это время.

Также опубликовал аналогичную обработку для корректировки регистров бухгалтерии, как просили в (55) - http://infostart.ru/public/630491
Оставьте свое сообщение