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

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

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Регистры накопления

Описание:

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

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

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

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

Читайте также:  Примеры монтажа радиаторов отопления

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

Источник

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

Дорогие читатели, в этом уроке я хочу затронуть крайне важную тему при работе в 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с.

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

Если нам требуются остатки по группировке сотрудник — нужно сначала удалить из настроек добавленный нами показатель «Регистратор»:

И только потом формировать отчёт:

Сейчас остатки показаны корректно.

Результат

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

Мы молодцы, на этом пока всё

Кстати, подписывайтесь на новые уроки.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

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

Нажмите одну из кнопок, чтобы поделиться:

Источник

Регистры накопления 1С и их использование

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

Предположим, что у нас есть 1000 разных документов: поступление товаров, списание, возврат, продажа и т.д. И каждый из документов изменяет количество определенного товара на складе. Чтобы получить информацию о текущем количестве на складе, необходимо перебрать все документы: какие-то увеличивают количество товара, какие-то уменьшают, какие-то могут и увеличивать, и уменьшать. А если необходимо учитывать еще и склад, организацию. Такая система очень ресурсоёмкая.

Для упрощения данного процесса разработчики 1С придумали особые объекты конфигурации. Используются они для удобства хранения и получения информации, в 1С 8.3 используются всевозможные регистры, в данной статье речь пойдет именно про Регистры накопления.

Что же такое регистр накопления в 1С 8?

Сам регистр накопления представляет собой таблицу с информацией, в которой собраны все движения (поступления/списания или обороты) определенных документов. Рассмотрим, как выглядит таблица движения, на примере типового регистра накопления «Товары на складах» в конфигурации «Управление торговлей 10.3»:

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

Регистр накопления в конфигураторе

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Что же такое регистр накопления с точки зрения разработки конфигурации? Начнем, пожалуй, с рассмотрения полей регистра накопления в конфигураторе:

У регистра накопления есть Измерения, Ресурсы, Реквизиты и Стандартные реквизиты.

Рассмотрим сначала стандартные реквизиты регистра накопления:

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

Измерения регистра накопления

Измерение — это разрез, в котором ведется учёт. На вышеприведенном примере разрезом учета являются: склад, номенклатура, характеристика номенклатуры, серия номенклатуры, качество. Т.е задав интересующие нас измерения, мы можем в любой момент получить количество — ресурс. В разрезе разных измерений в дальнейшем, например, можно получать остатки на определенную дату.

Ресурс регистра накопления

Ресурс — это числовое поле, в котором хранится информация в разрезе измерений, о которых писали выше.

Иначе взаимодействия измерений/ресурсов можно схематично изобразить как систему координат:

Два измерения — абсцисса и ордината системы координат, т.е. на данном примере измерения это склад и номенклатура. На пересечении измерений мы можем получить количество — ресурс. Например, на «основном» складе товара «карандаш» в наличии 1 штука.

Реквизиты регистра накопления 1C

Реквизиты регистры накопления несут в себе роль «комментария» или дополнительной информации, в разрезе измерений нельзя получить остатки/обороты. Используются достаточно редко.

Виды регистра накопления

Существует два вида регистра накопления — обороты и остатки.

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

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

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

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

Для регистра накопления это:

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

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

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

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

Индексация измерений регистра накопления

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

Например, регистр «ТоварыНаСкладах», измерения — «Склад, Номенклатура», ресурс — «Количество».

Правильнее проиндексировать «Номенклатуру», а поле»Склад» индексировать не стоит, потому как количество складов в системе, как правило, не существенное.

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

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

Источник