Назначение:
Автоматически сформировать такой документ корректировки, который бы привел существующие остатки регистра накопления к желаемым нами.
Существует аналогичная обработка для корректировки остатков регистров бухгалтерии.
Применение:
- исправление ошибок в регистрах, связанных с некорректным ведением учета ранее (если разбираться задним числом неуместно или невозможно)
- ввод, исправление остатков под желаемые (вы, разумеется, должны понимать, что вы делаете и зачем, и править смежные регистры тоже)
- быстрое обнуление остатков
- обнуление отрицательных остатков
- выборочная свертка базы (фиксация остатков регистров в документе "Корректировка записей регистров", после чего предшествующие документы можно пометить на удаление)
Практические примеры использования:
Обработка полезна на стадии "движения к светлому будущему" при исправлении/восстановлении учета в конфигурациях 1-2 поколения (БП 2.0, УТ 10.3, КА 1.1, УПП 1.3). особенно актуально для двух последних, где практически каждый участок учета находится в нескольких регистрах, и остатки по ним должны быть согласованы.
- Корректировка неправильных остатков в партионном учете (ПартииТоваровНаСкладах) УТ/КА/УПП под регистр "Товары на складах", под бухучет.
- Корректировка некорректных суммовых остатков в партионном учете УТ/КА/УПП под количественные.
- Правки остатков в НТТ (ТоварыВНТТ), особенно когда "упущен" учет в разрезе розничных цен.
- Корректировки и обнуления остатков в регистрах РАУЗ (УчетЗатрат, УчетЗатратРегл) по аналогии с вышеописанными.
- Исправление некорректных остатков по регистрам расчетов и взаиморасчетов всех видов в УТ/УПП/КА (ВзаиморасчетыСКонтрагентами, ….ПоДокументамРасчетов, РасчетыПоПриобретениюВУсловныхЕдиницахОрганизации/РасчетыПоРеализацииВУсловныхЕдиницахОрганизации) в валюте рег. учета и взаиморасчетов, приведение их друг к другу для рублевых договоров
- Исправление остатков по регистрам налогового учета НДС в УПП/КА — НДСНачисленный, НДСПредъявленный, НДСсАвансов и др.
- Исправление остатков по денежным средствам (ДенежныеСредства, РозничнаяВыручка) и заявкам (ЗаявкиНаРасходованиеСредств, ПланируемыеПоступленияДенежныхСредств).
- Расскребание регистров комиссионной торговли.
- Корректировки по всем видам резервов и размещений (РазмещениеЗаказовПокупателей, ТоварыВРезервеНаСкладах и др, и пр).
- Исправление всех промежуточных учетных регистров (…КПолучению, КПередаче, КСписанию и т.п.)
Обработка, сама по себе, не содержит бизнес-логики исправления. Общий принцип: вы выбираете остатки, правите их как необходимо, и сохраняете результат в виде разностной корректировки. Правки выполняются вручную, но какую-либо автоматизацию вы можете приписать на свое усмотрение.
Порядок использования:
- Открывается обработка, выбирается дата анализа остатков, регистр накопления, документ корректировки (или задается только тип [Т] для нового документа корректировки), вид движения корректировки (приход или расход).
- Устанавливается отбор измерений регистра
- Кнопкой "Заполнить по остаткам" заполняется таблица остатков (необязательно)
- В таблице остатков вносятся или исправляются записи. Если нужно обнулить регистр — таблица очищается.
- Нажимается кнопка "Выполнить", после чего в документ корректировки помещаются такие движения регистра, которые приведут его состояние к заданным в таблице остаткам.
ВАЖНО! Пока вы исполняете п. 4, остальные пользователи могут оперировать данными и изменить остатки корректируемого регистра. У вас, в форме, в желаемых остатках, эти изменения, разумеется, не отразятся. После выполнения корректировки вы, таким образом, получите движения, "отменяющие" работу пользователей. Поэтому, работу над корректировкой остатков целесообразно выполнять в монопольном режиме.
Защита от правок задним числом. Если есть предположение, что однажды учет будет исправлен задним числом ДО вашей корректировки, и "развалит" вашу масштабную работу по приведению его в правильное состояние остатков, существует способ "перестраховаться".
Для этого целесообразно ввести две корректировки. Первая, на 23:29:58, будет обнулять остатки регистра полностью в 0. Вторая, на 23:59:59, будет выводить остатки регистра в целевые значения. Тогда, если кто-либо исправит учет задним числом, то во-первых это можно будет отследить, заполнив таблицу обработки на 23:59:58 (если обнаружится, что остаток ненулевой, то будет ясно, что кто-то "влез" и "вскрыл" остатки), а во-вторых, легко исправить (мы можем тут же обнулить остаток, при этом вторая неизмененная корректировка будет снова выводить остатки регистра в целевые значения).
Сделать это можно следующим образом:
- Обеспечивается, чтобы ни один документ не делал движений по регистру на 23:59:59 — их можно оттащить назад по времени на 23:59:57, или использовать иные ухищрения -например, выполнять корректировки следующим днем в 0:00:00 / 0:00:01, и в конце всех правок оттаскивать их назад (удобно для 1 января).
- Сначала выполняется корректировка регистра на 23:59:59 до целевых значений. Оператор убеждается, что все правильно.
- Окно обработки, выполнявшее эту корректировку, перезаполняется без каких-либо отборов, чтобы получить полные остатки. НЕ закрывается.
- Открывается второй экземпляр обработки (через Файл-Открыть сделать это непосредственно не получится, но можно скопировать файл и назвать его другим именем. Из Дополнительных внешних обработок — можно открыть два экземпляра без проблем), время устанавливается на 23:59:58, выбирается тип документа корректировки (будет создаваться новый документ). Выбирается целевой регистр.
- Таблица не заполняется, нажимаем "Выполнить". Будет заведена корректировка на 23:59:58, обнуляющая регистр.
- Возвращаемся к окну из п. 3, нажимаем там "Очистить записи регистра", "Выполнить". Корректировка на 23:59:59 будет заполнена движениями, выводящими регистр к целевым значениям от нуля.
Этот метод подходит не для всех регистров, и не для всех случаев, но иногда бывает крайне полезен.
По этой же схеме можно выполнять выборочную свертку базы: корректировка по п. 6 может быть сохранена как ввод остатков по регистру "с нуля", а все предшествующие записи регистров — удалены с помощью какой-либо самописной обработки.
Совместимость
Разработано для обычного приложения, платформа 8.2 и 8.3. Тестировалось и успешно использовалось с конфигурациями:
- БП2 по 2.0.66.81
- ЗУП 2.5 всех версий
- КА 1.1 всех версий
- УПП по 1.3.120.1
Дополнительно разработана версия для управляемого приложения, платформа 8.3. Тестировалось и успешно использовалось с конфигурациями:
- БП3 по 3.0.71.86
- БСХП 3 по 3.0.71.83
- ЗУП 3 по 3.1.10.78
- КА по 2.4.7.127
Обработка также может работать с нетиповыми конфигурациями, в которых:
- Имеются регистры накопления остатков
- Имеется документ вида "Операция", "Корректировка записей регистров", "Перенос данных", аналогичный такому же из типовых конфигураций.
- Может приложить руку программист, и дописать в модуле обработки функцию для документа какого-либо другого вида (см. комментарии к модулю обработки)
Изменения
19.01.11
- добавлена возможность групповой обработки строк — обнуления отрицательных значений ресурсов.
02.06.17
- при выборе какой-либо даты, по умолчанию устанавливается время на конец дня (23:59:59). Можно отредактировать вручную. При выборе существующего документа корректировки дата-время устанавливается на его время.
- добавлена возможность выборочного обнуления отдельных ресурсов
- добавлена возможность копирования данных из одного ресурса в другой (удобно для регистров с двойными ресурсами, типа ВзаиморасчетыСКонтрагентами, РасчетыПоРеализации и т.п., только для рублевых договоров, разумеется)
- добавлена возможность очистки таблицы
- правки мелких ошибок, найденных в ходе 5-летней эксплуатации.
26.03.18
- версия для управляемых форм, различия интерфейса и функциональности постарался свести к минимуму.
28.07.19
- опубликовано важное замечание про включение функциональных опций перед использованием управляемой версии.
Идея отличная. Сейчас проверим.
С ходу есть пожелание для обработки табличной части: неплохо бы добавить кнопку «исправление отрицательных остатков в 0» 🙂
И где вы раньше были?… Уже свою написал 😀
Отличная штука для исправления РН. Мне понравилась.
Небольшая ложка дегтя. Если:
1. выбираю в качестве документа корректировки «Корректировка записи регитра» с пустым полем обработки (для создания нового документа)
2 использую обработку с отбором по фильтру
то при смене реквизита фильтра не нерезаполнялась табличная часть при нажатии на кнопку «Заполнить остатками». Приходится выходить из обработки и запускать ее по новой.
Если выбирать тип документа корректировки «Корректировка записей регитсра», создавать его, записывать пустым и выбирать в поле, то при перевыборе реквизита фильтра табличная часть перезаполнялась без проблем.
(2) wolfsoft,
Кто же знал что всем нужна такая обработка? 🙂
(3) gull22,
Не получилось воспроизвести. Если нетрудно, опишите по шагам подробнее, и укажите конфу.
Я исправлю и выложу.
Присоединяюсь к первому оратору, очень нужна кнопка исправления отрицательных остатков на 0.
(6) cdiamond, e-katerina
Согласен, полезно.
Добавлено, см. пункт «Обработка» в командной панели таблицы.
(7)
Спасибо! Можно немного пояснить последовательность действий для обнуления отрицательных остатков?
1. Ставлю дату и время на момент требуемого обнуления.
2. Выбираю регистр, например партии товаров
3. Выбираю пустой документ корректировки или создаю новый.
4. ?
(8) cdiamond,
Спасибо! Можно немного пояснить последовательность действий для обнуления отрицательных остатков?
…
3. Выбираю пустой документ корректировки или создаю новый.
4. ?
4. Нажимаете кнопку «Заполнить», убеждаетесь что остатки попали в таблицу
5. Нажимаете «Обработать» — «Обнулить отрицательные значения ресурсов…»
Отмечаете необходимые к обработке поля ресурсов (вы, например, можете пожелать обнулить количество, но не тронуть сумму, или наоборот)
6. Убеждаетесь, что в таблице обнулились отрицательные значения (нулевые ячейки выводятся пустыми).
7. Нажимаете «Выполнить».
8. Перезаполняете таблицу, чтобы прямо тут убедиться, что все стало хорошо (дабы не лазить по отчетам)
(9)
Правильно ли я понял, что если наложить фильтр по остаткам, чтоб был > 0, сделать заполнение, то получим тот же самый результат? Что-то я ступил похоже 🙂
(10) cdiamond,
Не совсем. Надо наложить фильтр «ресурс1 < 0», затем сразу нажать «Выполнить» (это как будто мы заполнили таблицу, а потом удалили все строки, сказав что «нет у тебя остатков по данному отбору»).
Просто надо иметь ввиду, что в таком варианте, система очистит не значения конкретных ресурсов, а уберет целые строки остатков, подпадающие под фильтр.
Просто это неочевидные и малопредсказуемые возможности, здесь целесообразно было сделать очевидную.
На самом деле у этой обработки, если манипулировать фильтром, масса неочевидных возможностей, которых я сам, как разработчик, даже не могу увидеть заранее.
Спасибо
Скачал новый релиз обработки, проверил ситуацию. Все ОК, замечаний нет. Проверял на Комплексной автоматизации 1.1.16(5)
(4) Плюсую 🙂
Плюсану обязательно,
надо скачать и сравнить подход автора со своим видением проблемы (читай, «покатаю на своей базе» 😀 )
Подскажите, обработка привязана к каким-то общим модулям конфигураций? Есть ли возможность использовать ее на ооочень сильно нетиповой конфигурации? Необходимый минимум объектов в конфигурации для применения?
И хотелось бы оценить вариант для 8.1. можно его как-то получить?
А как корректировать регистры расчета?
Полезная обработка. Обязятельно скачаю, чтобы воспользоваться.
Автору плюс
о, обработка, которая никогда не будет лишней. думала сама над тем, как ускорить процесс корректировки, а здесь уже готовое решение. спасибо, порадовали.
Обработка не работает, остатки не правильно определяет, регистры не обнуляет. ЗУП 8.2
Полезная вещь при различных переносах и обменах между 7.7 и 8.2, спасибо
Спасибо, но нужно указать для каких, всё-таки, конфигураций она подходит.
Интересное решение. Помогла при исправлении остатков в регистре накопления «Зарплата за месяц сотрудников организации». Криво были перенесены остатки из 1с 7 ЗИК в Комплексную Автоматизацию 1.1. Спасибо.
{(1,13)}: Процедура или функция с указанным именем не определена (ДвиженияВДокумент_ПереносДанных)
Результат = <<?>>ДвиженияВДокумент_ПереносДанных(ДокументОбъект, ТаблицаДвижений, МетаданныеРегистра)
После того как нажимаю выполнить выходит вот эта ошибка…(((
Интересное решение, Спасибо
Часто приходилось править регистры накопления, написала подобную обработку. Очень нужная вещь.
Хорошая штука для своих целей. Но я думаю, не зря в штатных механизмах такой обработки нет, регистры накопления-то двигаются документами, а значит, если остатки вас не устраивают, нужно править документы и вести нормальный учет. Но это если правильно….а так, на поле боя вещь полезная 🙂
+ спасибо
Не очень понятно как выводить регистр в ноль. Заполнять таблицу с остатками регистра и вручную обнулять ресурсы в ноль? Если да — может нужно добавить кнопку «Обнулить ресурсы», которая будет это делать автоматически?
Полезная штука, ато у меня много минусов…
И щас не охота рыться и смотреть где да что…
Будем качать , будем пробовать .
Но все таки регистры должны отображать реальность …
Хорошая вещь. Пригодится. Спасибо
(11) приветствую Вас коллега.
Из Вашего Help:
Предназначена для корректировки остатков регистров накопления.
Выбирается регистр накопления, пользователем вводятся целевые остатки. Затем автоматизированно
заполняется документ корректировки записей регистров, таким образом, что остатки регистра накопления приводятся ко введенным целевым.
Но хочу высказать и свое мнение.
1.»Остатки на конец секунды «- за 20 лет в бух и учете подобное встречаю впервые, поэтому смело выбираю 31.12.2011 и О! Ужас- время то 0:00:00- это проверка на трезвость или издевательство? (тогда уж извольте 23:59:59)
2.Выбираю РН ТоварыНаСкладах. Оч.бы не плохо- если бы работал «текстовый» поиск а то крутить Динаму…
3.Выбираю док «корректировка записей регистра»,конкретно создаю новый — на тебе Дата и Время Дока совсем не из «Остатки на конец секунды»- первое замешательство!
Если я получаю данные на точку времени t1, то каким должно быть время дока коррекции (t2),на которое я произведу «корр.действия»- ладно едем дальше.
Вид движения-? А что «механизма» сама не сообразит , что делать( Авто,приход,расход)?
3.Отбор- оч.неплохо- единственное добавил бы интеллекта: если выбран только один склад или одна номенклатура,то эти колоночки в ТЧ можно и АвтоПрикрыть,при изменениях в отборе автоочистка ТЧ-это стандарт,иначе т.Катя накорректирует.
4.Варианты обработок достаточно скудны( видели ли как работает механизм установки цен в бух,торг -есть что перинять)+ обязательно бы добавил возможность «ВЫРАЖЕНИЯ»- чуднейший прием в UNIREPS82, и вообще раз «ДИФФЕРЕНЦИАЛЬНАЯ»-(если просто перевод- различная, а то что-то в интегралы бросило)- то можно бы и любой реквизит «бахнуть»- характеристики например.
5.От кнопки «ВНИМАНИЕ»-тихий восторг и мучительное обдумывание- а оно мне надо?
6.Кнопки «Очистить записи регистра» и «Очистить записи ВСЕХ регистров»- это явный подарок мальчишу-плохишу.
Сначала обрадовался-потом испугался- а вдруг никакой защиты от «дурака»- окончательно понял ,что придется смотреть код ( а что без Выполнить никак?)
—-
И последнее. То ли я дурак, то ли лыжи не едут, а что если бы для простоты душевной если только цифры править то тупо доп.колонку КоличествоУстанавливаемое( или суммаУст- это от вариантов чего делать) и путем Результат=КоличествоУстанавливаемое-Количество и с приходом и расходом бы разобрались, а КолвоУстанавливаемое любая т.Маша поймет.
Вот на такой грустной ноте предстоит сегодня вечером её озадачить- наверняка не справится,чую?
Спасибо! Хорошая разработка. Пригодилась не раз
Полезная штука
А есть такая же для регистра Сведений? 🙂
Большое спасибо автору!
Хорошая вещь. Пригодилась.
Прочитал все комментарии. К (35) присоединяюсь. Добавить больше пока нечего, но, думаю, исправлений вряд ли дождаться, так что можно и самому поправить.
Спасибо!
Спасибо за обработку! Очень пригодолась!
Качаю, автору спасибо, плюс.
что то не получается, выполняю по пунктам, получаемый документ корректировки пустой. Пришлось закоментарить 3 строки после // Допишем то, что нам нужно получить — со знаком плюс. Тогда документ заполнил то что надо — обнулил остатки регистра.
Конфигурация типовая УПП для Украины.
(47) Vond,
У меня тоже в Конфигурация типовая УПП для Украины не работает «выполнить». Так же закоментировала 3 строки
Спасибо! Пригодится для старенькой УПП 1.2
..
За
Выполнить(«Результат = ДвиженияВДокумент_»+ИмяТипа+»(ДокументОбъект, ТаблицаДвижений, МетаданныеРегистра)»);
поставил бы еще плюс, не знал про такой механизм! 🙂
Спасибо 🙂
А никто не пробовал, под УТ82 11.1 работать будет?
нет возможности в корректирующих движениях указывать реквизиты — тем самым не подходит для корректировки НДФЛ после переноса из 77
Добавил в обработку табличной части формы обнуление ресурсов и установку реквизитов регистра и применил в ЗУП после переноса большой базы ЗиК (2000 чел) для корректировки НДС к Зачету (обнуление ресурса), Взаиморасчеты (установка ресурса в значение остатков по расчетной ведомости до обнуления НДС к зачету) и НДС расчеты с бюджетом (установка реквизита обособленное подразделение и обнуление ресурсов). Использовать документ Возврат НДФЛ не получилось из-за бардака с НДФЛ удерженным и переплаченным в ЗиК. В итого очень помогло — руками такой объем корректировок выполнить не возможно. Ставлю +
С ут 11 я так понял не работает???
Господа, а для регистров бухгалтерии такой штуки нет случаем? Вылез косяк пользователей с субконто, в итоге отрицательные суммы с положительными на 57.22 нужно схлопнуть. (итог нулевой)
Спасибо, очень выручило!
Отличная обработка
То, что нужно! Только не нашел, как обнулить полностью, но дописал сам за минуту.
хорошая вещь!
но надо переписать на 8.3
сам перепишу буду использовать в ERP 2.2
автор не против?
Подскажите, поможет ли мне Ваша обработка в моём случае:
Регистр накопления очистила в нуль, а остатки регистра накопления остались.Они удалятся?
Выложил обновление, и постарался учесть пожелания.
Спасибо за положительные отзывы и звезды за все это время.
Также опубликовал аналогичную обработку для корректировки регистров бухгалтерии, как просили в (55) —http://infostart.ru/public/630491
Добрый день!
Бухгалтерия предприятия, редакция 3.0 (3.0.51.16) дает ошибку «Поле объекта не обнаружено» Скрин в приложении.
(62)
Ну как быстрый костыль, закомментируйте в конфигураторе строку 36 модуля объекта.
Если вы добились работы этой обработки в чисто «управляемой» конфигурации, то, уверен, Вам не составит труда 🙂
Хотя так-то, я эту обработку на управляемые конфигурации не рассчитывал.
Спасибо))
Шикарная обработка! Автору респект. Проверено на УТ 10.3.
Криворуким бухам и манагерам — надо периодически вправлять … руки и мозги
и делать запрет редактирования задним числом
и ставить везде «заглушки» от дураков…
чтоб такого не могло быть… никогда
Да, привести к определенному результату регистр это мощно, если кто разбирается что должно быть в регистре. Вотhttps://infostart.ru/public/709554/ просто зануляет любой регистр накопления почти в любой конфигурации, к тому же под УФ.
(67)
Можно не заполнять (или очистить после заполнения) целевую таблицу, нажать «Выполнить», и регистр будет занулен либо весь, либо в рамках установленных отборов по измерениям.
Для УФ пока руки не дойдут, к сожалению.
Добавлена версия обработки для управляемых форм.
Спасибо! Обработка хорошая и полезная. Но в обработке для управляемых форм есть недостаток. Часть функция «ПолучитьВозможныеТипыДокументовКорректировок» изначально выглядит так:
Но в Комплексной автоматизации 2 есть все три типа документов. И документ «ОперацияБух» не используется для корректировки регистров. А по алгоритму в проверке первым проверяется наличие именно этого типа документа и он же единственный добавляется в список типов. Соответственно выбрать можно только один тип документа корректировки и тот не подходит для корректировки регистров. Правильно заменить указанную выше часть алгоритма на следующую:
Показать
А там уже пользователь сам выберет нужный ему тип документа из существующих в конфигурации.
(70)
Я сейчас вот сам смотрю на исходный вариант, и не понимаю, как я ухитрился написать именно так, как я написал, хотя имел ввиду (и полагал, что сделал) именно так, как поправили Вы.
У меня не было под рукой КА, чтобы протестировать, а то бы я еще до публикации нашел сие недоразумение.
Большое спасибо. Выложил исправленную версию.
Храни тебя господь дружище, так было лень писать свою.
УТ 11.08
В данной конфигурации нет регистров накопления остатков. Эта обработка вам не поможет.
Стармани погарели за зря…
(73)
Вы сожалеете, что в 11.08 нет регистров накопления, или процитировали сообщение об ошибке? 🙂
Если последнее, то уточните, пожалуйста, номер релиза. Вроде как 11.4 последний.
Может быть Вы ее в безопасном режиме запускаете?
+1. Все работает. Дополнение: добавьте чтобы в список регистров накопления попадали только регистры, в которых есть записи. Или настройку такую сделайте.
У себя добавил:
Здравствуйте. В зуп 3.1 и зикгу 3.1 будет работать?
(76) Добрый день. Версия для управляемых форм работает в ЗУП 3 (правда формирует документ «Перенос данных», т.к. документа «Корректировка регистров» в этой конфигурации нет). В ЗиКГУ 3 должна, хотя я не тестировал. Если не будет работать, тогда отпишите — решим вопрос как-нибудь.
(77)Спасибо.Попробуем.
(78) Добрый день ! Попробовали ? Расскажите , какие проблемы пробуете решить с помощью данной обработки ?
Важная заметка для пользователей решения для управляемых форм.
Для работы в современных «управляемых» конфигурациях, крайне желательно, перед использованием обработки, включить функциональные опции, влияющие на скрытие различных реквизитов (например, «Организация», «Валюта» и др., которые могли быть задействованы в исправляемых регистрах) из интерфейсов и отчетов, и перезапустить программу.
Например, для БП 3.0 такие ФО переключаются константами:
— «Использовать несколько организаций»
— «Использовать валютный учет».
(Можно переключить значение через «Все функции» — «Константы»).
Дело в том, что при выключенных ФО, реквизиты не только скрываются из интерфейса, но становятся также недоступными для системы компоновки данных, а обработка выбирает остатки именно посредством СКД.
Если ФО не включить, то, например, данные по колонке «Организация» могут не заполнится (при заполнении по остаткам), а целевые движения, соответственно, будут содержать пустое поле организации (или будут отражать пересторнировку остатков на пустую организацию с заполненной), что может привести к непредсказуемым побочным эффектам.
После использования обработки эти ФО можно отключить обратно.