Корректировка регистра накопления в 1с 8.3. Корректировка остатков регистров накопления (обычные и управляемые формы). Практические примеры использования

Любой специалист по оптимизации знает, что начинать работы по ускорению 1С нужно с самого узкого места системы.

В «1С:Предприятии 8» часто таким «бутылочным горлышком» является запись в регистры:

  • Сама по себе запись в БД – достаточно долгий процесс (относительно чтения)
  • Запись в регистры выполняется при каждом проведении и перепроведении документа
  • Зачастую документы очень объемные (с большим количеством строк)
  • Один документ может порождать движения в десятках регистров
  • При перепроведении документа запись в БД зачастую выполняется 2 раза – старые движения нужно очистить, новые записать.

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

В этой статье мы рассмотрим основные причины и способы оптимизации медленной записи в регистры.

Содержание

Ожидание на блокировках

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

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

Ожидания могут возникать по разным причинам, разберем некоторые из них.

Излишние блокировки по времени

Представим ситуацию: при проведении реализации транзакция заблокировала нужные ей данные на 5 минут. Хорошо это или плохо?

Это ужасно! Длительность блокировки должна быть как можно меньше. Счет должен идти на секунды.

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

Схематически такое ожидание можно представить следующим образом:

Рисунок 1. Схема ожидания на блокировке

Здесь и далее синяя стрелка означает успешно установленную блокировку, красная – ожидание на блокировке.

Иванов записывает движения, но после этого выполняется какой-то долгий код. При записи накладывается исключительная управляемая блокировка и X-блокировка СУБД. Обе блокировки будут держаться до конца транзакции. Если в это время другой пользователь обратится к заблокированным данным, он встанет в очередь и получит ожидание на блокировке.

Именно этот тип ожидания чаще всего встречается на регистрах накопления и бухгалтерии.

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

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

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

Эскалация блокировок

Описанная выше ситуация усугубляется, если происходит эскалация блокировок.

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

В этом случае СУБД может принять решение выполнить эскалацию блокировок. Это значит, что вместо блокирования нескольких тысяч строк в таблице СУБД заблокирует всю таблицу СУБД целиком.

Такое поведение обусловлено тем, что хранение и обслуживание большого числа блокировок требует значительных ресурсов, в частности – оперативной памяти. Чтобы экономить эти ресурсы, была придумана эскалация. Чтобы хранить информацию об одной блокировке всей таблицы, нужно гораздо меньше памяти, чем для хранения блокировок нескольких тысяч строк.

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

Рисунок 2. Схема ожидания при эскалации блокировок

Для предотвращения эскалации необходимо стараться сокращать порции записываемых данных. Например, дробить один большой документ на несколько мелких и вместо одной длинной транзакции делать несколько коротких (так как блокировки в пределах транзакции накапливаются).

На управляемых блокировках также есть эскалация. В 8.2 она срабатывает при наложении более 20 000 блокировок на одно пространство, а в 8.3 – при наложении более 100 000 блокировок. Как правило, до эскалации на управляемых блокировках дело не доходит, так как раньше срабатывает эскалация на СУБД.

Не используется разделение итогов

Даже сейчас мало кто знает, что в платформе есть замечательный механизм под названием разделение итогов.

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

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

Если кратко, то он добавляет в таблицу итогов регистра накопления (или бухгалтерии) дополнительную колонку «Splitter» и заполняет её уникальным для текущей сессии значением, благодаря чему параллельная запись в регистр становится возможной.

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

Сам механизм и все плюсы от его использования подробно описаны в данной статье: https://курсы-по-1с.рф/articles/режим-разделения-итогов/

Ошибки при массовой модификации данных

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

Например, вам нужно максимально быстро перепровести 1 000 документов. При выполнении замеров времени в конфигураторе вы обнаружили, что большая часть времени уходит на запись движений. Давайте рассмотрим, как можно ускорить эту операцию.

Не используется отключение итогов

На моем компьютере 1 000 документов перепровелись за 94 секунды.

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

Отключить итоги можно или через стандартную обработку управления итогами, или методом регистра УстановитьИспользованиеИтогов(Ложь).

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

После отключения итогов время улучшилось до 66 секунд.

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

Для оценки времени рекомендуется провести предварительный тест на копии базы.

В моем случае итоги по двум регистрам включились за 3 секунды. Таким образом мы улучшили время перепроведения с 94 до 69 секунд. Возможно, такое ускорение покажется слабым, но если документов и регистров много, то разница будет очень значительной.

Не используется запись в транзакции

Тем не менее, вышеупомянутый результат – это еще не предел, можно добиться большего ускорения.

Если выполнять запись 1 000 элементов, то СУБД придется 1 000 раз открыть и закрыть транзакцию, на что, естественно, уходит какое-то время. Зная это, мы можем еще немного ускорить нашу операцию, выполнив запись 1 000 элементов в одной транзакции. Для этого просто пропишем команды НачатьТранзакцию() и ЗафиксироватьТранзакцию().

Если отключить итоги и использовать запись в одной транзакции, время перепроведения 1 000 документов сокращается до 51 секунды, плюс 3 секунды на включение итогов, общий результат – 54 секунды. В результате мы ускорили загрузку примерно на 42 % по отношению к первоначальному результату.

Если дополнительно использовать распараллеливание, то результат можно сделать еще лучше.

Проблемы с дисками

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

Сейчас программы предъявляют все более и более жесткие требования к производительности оборудования. Платформе 8.1 нужно больше ресурсов, чем версии 7.7, а платформа 8.3 более требовательна, чем 8.2. Данная тенденция будет только продолжаться, так как интерфейсы все краше и функционала все больше. Все это предъявляет повышенные требования к оборудованию и в частности к дискам.

На данный момент диски HDD теряют свои позиции, уступая место SSD. Сейчас технология твердотельных накопителей находится на таком уровне, что позволяет без проблем использовать эти диски для серверных систем. SSD действительно сильно превосходят HDD как при чтении, так и при записи.

Если планируется делать апгрейд оборудования, то рекомендуется заменить обычные диски на SSD, желательно с интерфейсом PCI-E. Такая замена очень хорошо сказывается на общей производительности.

Для того чтобы снизить нагрузку на дисковую подсистему, рекомендуется разнести файл данных и файл журнала транзакций MS SQL Server на разные физические диски. В этом случае операции чтения не будут “отвлекать” диск от операций записи. Данное действие рекомендуется выполнять независимо от того, какой тип дисков вы используете.

Более подробную информацию о дисках и диагностике их загруженности можно получить здесь: https://курсы-по-1с.рф/news/2016-10-21-optimize-1c-webinar/

Ошибка проектирования

Иногда в процессе аудита производительности встречаются ситуации, когда у клиента один регистр занимает 70 % или более от всего объема базы. Это приводит к большой нагрузке на регистр и при чтении, и при записи.

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

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

Необходимо избегать ситуаций, когда у вас большой объем данных хранится в одном объекте. Если такая ситуация обнаружена, конечно, можно сделать свертку, переместить старые данные в отдельную базу и сократить объем регистра, но это даст лишь временный эффект. Правильным решением будет изменить архитектуру решения. Здесь как раз хорошо подходит принцип “разделяй и властвуй”.

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

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

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

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://.com/kursypo1c.

Если Вы еще не вступили в нее – сделайте это сейчас, и в блоке ниже (на этой странице) появятся ссылки на скачивание материалов.

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кэш браузера или подписаться через другой браузер.

Источник: https://xn----1-bedvffifm4g.xn--p1ai/news/2017-03-27-four-methods-of-write-acceleration/

Корректировка регистров в 1С 8.3

Предлагаю в этой статье рассмотреть вопрос, как можно самим вручную корректировать регистры накопления, бухгалтерии и сведений в 1С 8.3 (Бухгалтерия и другие конфигурации).

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

Регистры можно скорректировать двумя способами:

Ранее в конфигурации был еще документ «Корректировка записей регистров», но в последних релизах данный функционал полностью заменен «Операцией».

Ручная операция

Иногда возникают такие ситуации, когда нет подходящего документа для формирования нужной проводки.

Например, в моей базе данных я даже не стал искать документ, который сформирует мне проводки по уставному капиталу.

Я сразу зашел в раздел «Операции, введенные вручную» и сформировал проводку 75.01 – 80.09:

Расскажу по порядку, как это делается.

Заходим в меню «Операции», далее «Бухгалтерский учет» – «Операции, введенные вручную»:

В форме списка операций нажимаем кнопку «Создать».

Нам откроется список, в котором присутствуют три пункта:

  • операция — это ручная операция для произвольной корректировки регистров;
  • сторно документа – сторнирует любой существующий документ любой датой;
  • типовая операция – выбирается из ранее внесенных шаблонов операций.

Произвольная корректировка

Итак, создаем операцию, внесенную вручную. Указываем содержание операции (необязательно, но самим же потом пригодится) и общую сумму операции. Не забываем про дату операции.

Далее добавляем строчку в табличную часть документа, нажав кнопку «Добавить».

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

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

Вот такой гибкий и удобный инструмент имеется под рукой у бухгалтера.

Получите 267 видеоуроков по 1С бесплатно:

Сторно документа

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

  1. Создаем новый документ.
  2. Указываем организацию.
  3. Выбираем сторнируемый документ. Нюанс в том, что сначала надо выбрать тип документа (например, реализация товаров), а затем уже конкретный документ из списка.

После выбора документа 1С 8.3 автоматически заполнит проводки со знаком «минус»:

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

Типовые операции

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

Рассмотрим пример: необходимо сделать шаблон типовой операции, которым мы бы смогли начислять налог ЕНВД раз в квартал.

Для начала заполним справочник «Типовых операций». В интерфейсе он находится на вкладке операции:

Заполним новый вид операции, назовём его «Начисление ЕНВД»:

Обратите внимание, аналитику и сумму будущего шаблона можно заполнить сразу, а можно оставить это поле как «Параметр», который будет заполняться в момент ввода операции:

В нашем случае сумма налога и субконто постоянны, поэтому я поставил фиксированные значения.

После того как шаблон готов, можно переходить к созданию проводок на его основе. Это можно сделать как из формы списка документов «Операции», так и непосредственно из нашего шаблона — «Типовой операции»:

После нажатия на «Ввести операцию» 1С 8.3 сформирует нам новый документ, где нам останется заполнить лишь дату и организацию. После чего нажать на кнопку «Заполнить»:

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

Корректировка проводок непосредственно в документе

Почти каждый документ в программе формирует записи в бухгалтерский регистр. Но иногда проводки формируются некорректно. Это может зависеть от ряда причин:

  • неверная настройка программы;
  • неверно заполнен документ;
  • ошибка в программе.

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

Причем операция эта создается автоматически (регламентная операция). Подразделение у меня везде указано. Вопрос: «Что делать?».

На самом деле все просто. Я нашел эту операцию и перешел в режим просмотра проводок:

После нажатия указанной кнопки откроется вот такое окно:

Отсюда видно, что подразделение не заполнено. Зато есть флажок «Ручная корректировка».

Им-то я и воспользовался. Установив данный флажок, можно свободно редактировать проводки.

Я установил подразделение, и закрытие месяца у меня прошло без проблем.

Таким образом можно корректировать любые движения документа, если он их вообще создает.

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

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник: https://programmist1s.ru/korrektirovka-registrov-v-1s-8-3/

«Корректировка записей регистров» и другие способы редактирования записей

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

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

Именно поэтому специалисты 1С рекомендуют в целях сторнирования движений использовать специальный документ – «Корректировка записей регистров» или другие существующие и отработанные встроенные механизмы.

Сразу следует оговорить две вещи:

  1. В версиях конфигураций 8.3 и выше реализованы другие механизмы редактирования движений документов;
  2. В  типовых конфигурациях заполнять и проводить документ «Корректировка записей регистра» может только пользователь с полными правами.

Пара слов о расположении и внешнем виде документа «Корректировка записей регистра»

Если рассматривать вариант работы с программой в обычном (неуправляемом) режиме, в интерфейсе «Полный», то этот документ можно найти в меню «Документы», на закладке «Дополнительно» (Рис.1)

Рис.1

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

В программе «Управление производственным предприятием» (версия 8.3.11.2924) в режиме обычного приложения форма нового документа выглядит так, как представлено на Рис.2.

Рис.2

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

  • Заполнение движений;
  • Регистры бухгалтерии;
  • Регистры накопления;
  • Регистры сведений.

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

Помимо закладок, на этой форме видна интересная кнопка – «Настройка состава регистров», с нее мы и начнем наш разбор.

Настройка состава регистров

Нажатие на эту кнопку открывает форму подбора тех регистров, информацию в которых мы собираемся редактировать (Рис.3).

Рис.3

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

В соответствии с нашим выбором будет изменяться внешний вид формы документа «Корректировка записей регистров».

  В частности, на закладках будут появляться табличные части с колонками, указывающими на реквизиты, измерения и ресурсы добавляемых регистров (Рис.4).

Рис.4

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

Закладка «Заполнение движений»

Как видно из Рис.5, на этой закладке нет команды «Настройка состава», однако есть флажок, устанавливающий будет ли этот документ служить корректировкой к какому-либо другому объекту.

Рис.5

Активация этого флажка открывает табличную часть, в которой пользователь может выбрать:

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

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

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

В частности, предопределенное действие «Сторнирование движений документа» формирует движения аналогичные движениям документа источника, но с противоположными знаками. Это действие не может быть осуществлено для регистров расчета и регистров сведений, так что, если у документа есть такие движения, сторнирование проигнорирует эти записи.

Требования к внешней обработке – действию

Для того чтобы тот или иной обработчик можно было выбрать в качестве «Действия» в табличной части «Заполнение движений», он должен соответствовать следующим критериям:

  1. Он должен быть зарегистрирован в справочнике «Внешние обработки» (для конфигурации «УПП»);
  2. Вид обработки должен быть – «Заполнение табличных частей»;
  3. Модуль обработки должен содержать экспортную процедуру Инициализировать.

Так как реквизит «Документ» табличной части «Заполнение движений» не обязательно должен содержать ссылку на какой-либо объект информационной базы, проверку его на пустое значение необходимо включить непосредственно в модуль обработки.

Как мы уже говорили выше, в поздних версиях программы документ «Корректировка записей регистров» отсутствует. В разных конфигурациях его функции выполняют разные документы.

Особенности использования процедуры «Инициализировать» в документе «Корректировка записей регистров»

В общих случаях процедура «Инициализировать» в обработках заполнения табличных частей  должны быть установлены и определены три параметра:

  • СсылкаНаОбъект – указывает на документ, откуда происходит вызов процедуры обработчика;
  • ИмяТабличнойЧасти – привязывает обработку к конкретной табличной части документа;
  • Объект – объект информационной базы, который будет обработан.

Именно последние два параметра для документа «Корректировка» имеют некоторые особенности использования.

Во-первых, при добавлении обработчика в справочник внешних обработок для её использования невозможно выбрать конкретную табличную часть.

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

Таким образом, так-как поле «Документ» необязательно для заполнения, проверку на его заполненность необходимо включать в код модуля обработки.

Сторнирование движений в Бухгалтерии 8.3

В конфигурации «Бухгалтерия предприятия» и всех отраслевых решениях, созданных на ее основе, эта функция выпала на документ «Операция, введенная вручную».

Помимо своей основной функции – регистрации бухгалтерского отражения хозяйственной деятельности, этот объект может отсторнировать движения практически любого документа по любому регистру.

Для этого:

  • Откроем журнал операций и нажмем на кнопку «Создать»;
  • В открывшемся меню (Рис.6), выберем «Сторно документа»;

Рис.6

  • Открывшаяся форма (Рис.7) содержит обязательный для заполнения реквизит «Сторнируемый документ»;

Рис.7

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

Корректировку произвольного регистра можно осуществить, если при создании операции выбрать тип документа «Операция». После этого в командной панели формы объекта необходимо нажать кнопку «Еще» (Рис.8)

Рис.8

Активация команды «Выбор регистров» откроет окно подбора (Рис.9)

Рис.9

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

Однако, в некоторых типовых конфигурациях (в частности в «Зарплате и управление персоналом») полностью отсутствует бухгалтерская часть, а, следовательно, нет и «Операций», что же тут придумали разработчики?

Корректировка регистров в ЗУП

В программе «Зарплата и управление персоналом», версии 8.3 для большинства документов, регистрирующих информацию о расчетах, начислениях и кадровых движениях на форме доступны две команды – «Исправить» и «Сторнировать». Кроме этого существует третий вариант решения проблемы корректировки – внесение «забытого» документа задним числом.

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

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

На формах документов, проведенных и находящихся в закрытом для расчета периоде, мы можем увидеть надпись, представленную на Рис.10:

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

Итак:

  • Командой «Исправить» мы должны пользоваться в тех случаях, когда документ содержит неправильные или непроверенные данные (не тот сотрудник, не тот период, не в той должности и так далее) и документ находится в закрытом для исправления периоде;
  • Командой «Сторнировать» следует пользоваться, когда документ в целом введен ошибочно и все его движения должны быть отменены (больничные листы признанные недостоверными, ошибочно назначенные доплаты или удержания и т.д.).

В первом случае в информационной базе будет создан документ-исправление, на форме исходного документа появится соответствующая информация, форма вновь созданного (в открытом периоде) объекта так же будет содержать ссылку на исходную запись. (Рис.11).

Рис.11

В исправляющем документе будет создана либо закладка «Пересчет прошлого периода», либо «Доначесления», либо «Пересчет начислений».

Во втором случае в программе будет создан отдельный документ «Сторнирование начислений».

«Сторнирование начислений»

Сторнирующий документ можно создать из подсистемы «Зарплата», в меню «» имеется соответствующая команда.

Основным реквизитом объекта является поле «Сторнируемый документ», которое имеет существенное ограничение по типу. Кроме того, на форме предусмотрены:

  • Указание периода, в который попадут начисления;
  • Переключатель автоматического формирования доначисления;
  • Табличная часть, содержащие данные о сотруднике, размере и основных показателях отменяемых движений.

Важно понимать, что любые исправления заработной платы сотрудника, вне зависимости от того в какую сторону оно происходит (доначисление или удержание) жестко регламентируется существующим законодательством. В частности, согласно ст. 137 Трудового кодекса удержать излишне начисленную заработную плату можно, для:

  1. Возмещения выданного в счет з/п и неотработанного аванса;
  2. Погашения аванса, если он был не израсходован и не возвращен;
  3. Возврата сумм, выплаченных в результате счетных ошибок (то есть ошибках при арифметических расчетах);
  4. В качестве компенсации излишне оплаченного отпуска при увольнении.

Кроме этого, существует несколько случаев, когда работник может в добровольном порядке возместить ошибочно выданную ему заработную плату и все они регламентируются п.3 ст. 1109 ГК РФ.

Подводные камни корректировок

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

  1. Даже незначительные корректировки могут повлечь серьезные последствия, так как на основе старых данных уже могут быть сформированы новые документы;
  2. Всегда представляйте, как Ваши изменения повлияют на работу других подразделений;
  3. Если в компании настроена синхронизация (обмен данными) между базами, изменения лучше делать на исходном документе.

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

Источник: http://blog.it-terminal.ru/obshhie-voprosy-pro-1s/korrektirovka-zapisej-registrov.html

Корректировка записей регистров в 1С с помощью документа Операции или из проводок

Как вручную, корректировать регистры накопления, бухгалтерии и сведений в 1С 8.3 (Бухгалтерия и другие конфигурации).

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

Регистры можно скорректировать двумя способами:

  • операцией, введенной вручную
  • непосредственно из документа, который эти проводки сформировал

Корректировка записей регистров накоплений в 1С 8.3 Бухгалтерия и ЗУП

Курсы 1С 8.3 и 8.2 » Статьи про 1С 8.3 » Обучение 1С ЗУП 8.3 (3.1) » Корректировка записей регистров накоплений в 1С 8.3 Бухгалтерия и ЗУП

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

Можно выделить несколько способов корректировки записей регистров в 1С:

  • При помощи специализированных документов с автоматизированным созданием движений по регистрам (для обычных пользователей).
  • При помощи специализированных документов с ручным созданием движений по регистрам (для продвинутых пользователей).
  • Непосредственно в самом результате проведения документа.

Корректировка записей регистров в 1С 8.3 Бухгалтерия 3.0

Пример: отражение исчисленного и удержанного НДФЛ с суммы вознаграждения по ДГПХ.

Давайте разберемся, где в 1С 8.3 найти “Корректировку записей регистров”, к которой мы привыкли в 1С 8.2?

В 1С конфигурации Бухгалтерия 8.3 отсутствует какой-либо специальный документ для отражения данной операции, поэтому отражение сумм начисления вознаграждения в регистре накопления проводят при помощи документа Операция, введенная вручную, а обложение НДФЛ оформляют документом Операция учета НДФЛ.

Заполним данные в документе следующим образом:

Шаг 1:

Шаг 2:

Шаг 3:

Шаг 4:

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

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

Важно: в 1С 8.3 (Бухгалтерия 3.0) такими документами-помощниками являются  – Отражение НДС к вычету, Отражение начисления НДС, Запись книги доходов и расходов УСН,  Запись книги доходов и расходов ИП, Запись книги доходов по патенту.

Корректировка записей регистров в 1С 8.3 ЗУП 3.0

Пример: отражение исчисленного и удержанного НДФЛ с суммы подарка бывшему сотруднику предприятия.

Хотя для отражения данной операции в 1С конфигурации Зарплата 3.0 существует специальный документ, но для примера отразим эту операцию при помощи документа Операция учета НДФЛ.

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

Шаг 1:

Шаг 2:

Шаг 3:

Шаг 4:

Таким образом, на рисунке ниже видно по какому количеству регистров документ сформировал движения:

Такие документы экономят время пользователям 1С ЗУП 3.0 и снижают количество ошибок в учете.

Документы с ручным созданием движений по регистрам в 1С

Пример: корректировка начального остатка в строке 100 РСВ-1.

Например, часто случается, что бухгалтер, устроившись на работу, сталкивается с тем, что до него учет в программе 1С велся некорректно, а отчеты в ПФР (возьмем РСВ-1) заполнялись вручную.

Соответственно, после автоматического заполнения начальные остатки, например, по строке 100 (1 193 370,74 р.) не соответствуют суммам в этой же строке, но уже в бумажном варианте отчета, принятого в ПФР (193 370,74 р.).

Так как начальные остатки в отчете РСВ-1 формируются на основе данных из регистра накопления Расчеты с фондами по страховым взносам, то и корректировать будем его при помощи документа Перенос данных (для 1С ЗУП 3.0) или Операция, введенная вручную (для 1С Бухгалтерия 3.0).

Как определить по какому регистру делать движения в 1С ЗУП 3.0

Чтобы проверить по каким регистрам документ сделал движения, воспользуемся следующим способом: откроем любой документ Начисление зарплаты и взносов, пройдем в Главное меню – Вид – Настройка панели навигации:

В открывшемся окне нажмем на кнопку Добавить Все:

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

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

Как правильно оформить движение по регистру в 1С 8.3 ЗУП 3.0

Для того чтобы понять, как правильно оформить движение по регистру, обратимся к Универсальному отчету. Главное меню – Все функции – Отчеты:

При настройке отчета выбираем период, за который формируется РСВ-1, регистр накопления Расчеты с фондами по страховым взносам и таблицу Остатки и Обороты. Далее по кнопке Настройка включаем Расширенный режим и добавляем отбор по Организации и Виду обязательного страхования = ПФР по суммарному тарифу с 1 января 2014 года, так как нас интересует сумма именно по этому тарифу:

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

Создадим новый документ Перенос данных и настроим состав корректируемых регистров как указано на рисунке. Главное меню – Все функции – Документы – Перенос данных:

Добавим новую строку с видом движения Расход, так как сумму нужно уменьшить. Далее заполняем значения теми, что сформировались в Универсальном отчете. Выбираем Вид обязательного страхования и сумму = 1 000 000 р.  Дату в строке устанавливаем на день ранее, чем период формируемого отчета РСВ-1. Документ готов. Записываем его:

Перезаполняем отчет РСВ-1. Теперь в строке 100 колонка 3 нужная нам сумма:

Как определить по какому регистру делать движения в 1С 8.3 Бухгалтерия 3.0?

В строке 100 отражается остаток по уплате страховых взносов. Уплата производится документом Списание с расчетного счета с видом операции Уплата налога с указанием вида налога = Страховые взносы в ПФР. Проверим, по каким регистрам данный документ делает движения:

Движение проходит по регистру Расчеты с фондами по страховым взносам. Соответственно по этому регистру и формируем Универсальный отчет.

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

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

Формируем Универсальный отчет по тому же принципу, что и в 1С ЗУП 3.0, но в 1С 8.3 бухгалтерия 3.0 для корректировки уже используется документ Операция, введенная вручную (раздел Операции).

В 1С 8.3 создаем новый документ, по кнопке «Еще» выбираем пункт Выбор регистров и отмечаем флажком нужный:

Добавим новую запись регистра накопления с видом движения Расход, так как сумму нам нужно уменьшить. Далее заполняем значения теми, что сформировались в Универсальном отчете. Выбираем Вид обязательного страхования и сумму = 1 000 000 руб. Дату документа устанавливаем на день ранее, чем период формируемого отчета РСВ-1. Записываем документ:

Ручная корректировка регистров непосредственно из документа в 1С 8.3

Иногда возникают ситуации, когда в 1С 8.3 Бухгалтерия 3.0 необходимо скорректировать движения вручную быстро. В таких случаях используется флажок Ручная корректировка. Он доступен после нажатия в документе кнопки . После установки данного флажка появляется возможность корректировать любые данные в регистрах, по которым документ сделал движения:

Важно: не стоит часто прибегать к данному методу корректировки, так как это может повлиять на корректность ведения учета в 1С 8.3.

Более подробно как сделать корректировку движений (проводок) документа в программе 1С смотрите в нашем видео уроке:

На сайте ПРОФБУХ8 Вы можете ознакомиться с другими бесплатными статьями и видео уроками по конфигурации 1C Бухгалтерия 8.3 (8.2).

Научиться работать в 1С 8.3 с полным пониманием функционала и стать профессиональным пользователем программы 1С:Бухгалтерия 8 ред. 3.0 поможет наш курс по работе в 1С 8.3. Подробнее о курсе смотрите в следующем видео:

Поставьте вашу оценку этой статье:
Загрузка…

Источник: https://ProfBuh8.ru/2016/06/korrektirovka-zapisey-registrov-v-1s/