Обнулить регистр накопления 1с. Использование обработки «Обнуление остатков регистров накопления

Учимся работать с регистрами (1С:Бухгалтерия 8.3, редакция 3.0)

2016-12-08T13:50:45+00:00

Дорогие читатели, в этом уроке я хочу затронуть крайне важную тему при работе в 1С:Бухгалтерия 8.3 - Регистры .

Сразу покажу на небольшом примере почему это так важно.

Пусть у нас есть начисление заработной платы за январь:

В начале февраля мы создаём ведомость на выплату зарплаты из кассы и нажимаем кнопку "Заполнить":

И получаем следующее:

Но ведь за январь:

  • Начисление 50 000 рублей
  • НДФЛ 6 500 рублей
  • Итого к выплате 43 500 рублей

Где закралась ошибка? Что пошло не так? Неужели теперь всегда вводить сумму к выплате вручную?

Опытный бухгалтер тут же сделает оборотно-сальдовую ведомость по 70 счёту:

И будет в ещё большем недоумении, потому что по данным отчёта к выплате выходят всё те же 43 500! И откуда же взялись лишние 5 000 рублей?

Причём такая ситуация (с любыми расчётами) может произойти как в "тройке", так и в "двойке".

Сегодня я попытаюсь приоткрыть завесу тайны - почему же иногда программа ведёт себя так странно. Я расскажу как в таких случаях находить и устранять ошибку. Ближе к концу статьи мы разберёмся - откуда же взялись эти самые 5 000 рублей.

Итак, поехали!

Учимся видеть регистры

При проведении документов 1С:Бухгалтерия 8 делает проводки по бухгалтерским счетам (кнопка ДтКт у любого документа):

Именно на основании этих проводок строятся все бухгалтерские отчёты: Анализ счёта, Карточка счёта, Оборотно-сальдовая ведомость...

Но есть огромный пласт данных, которые пишутся программой параллельно с проводками и используются для всего остального: заполнение КУДИР, книги покупок и продаж, регламентированной отчётности... заработной платы к выплате , наконец

Как вы уже, наверное, догадались этот пласт называется регистрами , вот он:

Я сейчас не буду вдаваться в подробности описания самих регистров, чтобы не запутать вас ещё больше.

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

Давайте присмотримся к регистру "Зарплата к выплате" - именно он имеет смысл для решения нашей проблемы с лишними 5 000:

Мы видим две записи по этому регистру, сделанные в приход, то есть в плюс. Если пролистать экран в право, то мы увидим в первой строчке сумму к выплате "-6 500", а во второй "50 000".

Остаток по этому регистру -6 500 + 50 000 равен 43 500, который и должен попасть в документ "Ведомость на выплату из кассы", когда мы нажимаем на кнопку "Заполнить".

Ещё раз повторюсь - ведомость на выплату определяет нашу задолженность по заработной плате перед сотрудником не по 70 счёту, а по регистру "Зарплата к выплате" .

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

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

Учимся анализировать регистры

И такой инструмент есть, он называется "Универсальный отчёт ".

Переходим в раздел "Отчеты" пункт "Универсальный отчёт":

Выбираем тип регистра "Регистр накопления", регистр "Зарплата к выплате" и нажимаем кнопку "Сформировать":

Получилось не очень информативно:

Всё потому, что требуется предварительная настройка отчёта, нажимаем кнопку "Показать настройки" и на закладке "Группировка" добавляем поле "Сотрудник":

На закладке "Отборы" делаем отбор по нашей организации:

Нажимаем кнопку "Сформировать":

Вот это уже более интересно. Видим остаток к выплате нашему сотруднику те самые 48 500 рублей!

Снова заходим в настройки отчёта и добавляем на закладку "Показатели" новое поле "Регистратор":

Снова формируем отчёт:

Вот теперь мы прекрасно видим, что 5 000 появились как результат операции (видимо ввода остатков) 31 декабря 2014 года.

И нам нужно либо изменить эту операцию, либо вручную откорректировать регистр "Зарплата к выплате" и закрыть эти 5 000 рублей, например, 31 декабря 2015 года.

Давайте пойдём вторым путём. Итак, наша задача - сделать так, чтобы на начало 2016 года по регистру "Зарплата к выплате" не было нашей задолженности перед сотрудником.

Это делается ручной операцией.

Учимся корректировать регистры

Заходим в раздел "Операции" пункт "Операции, введенные вручную":

Создаём новую операцию концом 2015 года:

Из меню "Ещё" выбираем пункт "Выбор регистров...":

Указываем регистр "Зарплата к выплате" и нажимаем ОК:

Переходим на появившуюся закладку регистра и делаем расход на 5 000 рублей:

Этим самым мы как бы отнимаем от регистра 5 000 рублей по сотруднику, чтобы выйти на ноль к началу 2016 года.

Проводим операцию и заново формируем универсальный отчёт:

Всё получилось! Видим, что наша ручная операция от 31.12.2015 вывела остаток в ноль и зарплата к выплате после начисления равна ожидаемым 43 500.

Замечательно. И сейчас мы проверим это в ведомости на выплату.

Но прежде я хочу обратить ваше внимание на ещё один важный момент:

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

Запомните. В том случае, если универсальный отчёт выводится с детализацией до документа (регистратора) - остатки по группировкам будут показывать ерунду.

Если нам требуются остатки по группировке сотрудник - нужно сначала удалить из настроек добавленный нами показатель "Регистратор".

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

Как пользоваться. Сначала вручную создаем пустой документ "корректировка регистров" ставим дату и время (я ставил 23:59:59 на конец квартала), остатки по регистрам будут сниматься именно на эту позицию (позицию документа), в общем-то от документа нам только позиция и нужна. Потом выбираем какие регистры нам надо занулить и жмем "Сформировать". Открываем корректировку, смотрим, проверяем регистры с помощью отчетов и/или универсального отчета. Остатки закрываются по всем измерениям и на все ресурсы. Так же в форме есть отбор по организации и складу (атавизм от первоначальной версии, но работает) других отборов добавлять не стал (т.к. мне он вообще не понадобился), кому надо можете сами добавить, в модуле все понятно расписано, а не стал применять потому что, например, по организации если отбор делать, то для регистра "Товары организаций" отбор сработает, а для "Товары на складах" нет (там нет такого измерения), поэтому занулял без отбора.

Прошло некоторое время...

Вышла новая версия, теперь обработка научилась (раньше выдавала ошибку - т.е. фактически работала только с регистрами остатков) сторнировать движения оборотного регистра накопления. Причем движения именно сторнируются, т.е. если вы посмотрите регистр, скажем, "Продажи" в УТ11, то после сторнирования продажи показывать вообще не будет, т.е. как будто продаж и не было вовсе - обороты в целом за период будут пустыми. Еще раз - получается, например, у нас были продажи за период 1-30 января, 31 числом я делаю сторно, после этого если я посмотрю отчет с 1 по 30 - увижу продажи, с 31 по 31 - увижу движения сторно, с 1-31 - пусто покажет. Я например сторнировал движения регистра "ДенежныеСредства" в УТ11 и Рознице 2.2 когда пришлось приводить в порядок "Кассу" (50 счет кто разбирается).

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

Приятная новость - понизилась стоимость в баллах.

Бывают ситуации, когда при расчете услуги со способом расчета «По показаниям счетчика» вводится одно показание, а при начислении услуги расход получается совсем другим. Такие ситуации могут возникнуть в случаях, когда пользователь вручную изменяет данные в документах «Ввод показаний счетчика» и «Начисление услуг». Рассмотрим пример.

  • Введем показания счетчика по услуге «Горячее водоснабжение» за январь:
  • Начислим услугу:

В данном случае расчет произошел верный.

Для хранения расхода по приборам учета используется регистр накопления «Расчет приборов учета». Откроем данный регистр с помощью меню «Операции – Регистры накопления – Расчет приборов учета». Регистр можно также открыть из документов «Ввод показаний счетчика» или «Начисление услуг» по кнопке «Перейти – Расчет приборов учета».

Установим в регистре накопления отбор по лицевому счету и услуге:

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

  • Откроем документ «Ввод показаний счетчика» за январь и изменим вручную введенное показание:

При этом документ «Начисление услуг» за январь перезаполнять не будем.

  • Введем показания счетчика за февраль:

  • Начислим услугу за февраль:

Видно, что в документ попал неверный расход. Откроем регистр накопления «Расчет приборов учета» и установим отбор по лицевому счету и услуге:

В регистре видно, что введенные показания и расходы не соответствуют друг другу.

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

В этом случае необходимо воспользоваться обработкой «АОБ_ОбнулениеОстатковРегистровНакопления».

ПРИМЕЧАНИЕ: Перед использованием обработки рекомендуется сделать резервную копию информационной базы.

Для исправления сложившейся ситуации выполним следующие действия:

1. В режиме «1С:Предприятие» откроем обработку «АОБ_ОбнулениеОстатковРегистровНакопления» с помощью меню «Файл – Открыть»;

2. В поле «Документ движения» выберем документ «Начисление услуг» за январь.

ПРИМЕЧАНИЕ: документ выбирается предшествующий томудокументу, в котором необходимо получить верные данные. В данном случае будем исправлять документ «Начисление услуг» за февраль, следовательно, в качестве документа движения выбирается документ «Начисление услуг» за январь.

3. В поле «Регистр обнуления» выберем регистр «Расчет приборов учета»:

ПРИМЕЧАНИЕ: в обработке возможен отбор остатков. Критерии отбора настраиваются в таблице.

4. Нажмем кнопку «Выполнить».
При нажатии данной кнопки данные в регистре накопления «Расчет приборов учета» не изменятся визуально, но остатки буду обнулены.

5. Перезаполним документ «Начисление услуг» за февраль:

Видно, что после использования обработки расчет стал верным.

Неверные значения в регистре накопления «Расчет приборов учета» могут образоваться также в результате ручного изменения данных в документе «Начисление услуг», либо внесения нескольких документов «Ввод показаний счетчика» или «Начисление услуг» за период.