1с провести документ только по одному регистру

Обновлено: 07.07.2024

В этом уроке мы изучим всё, что нужно знать бухгалтеру о проведении документов в 1с, а именно:

Все эти вопросы мы рассмотрим применительно к "тройке" (1С:Бухгалтерия 8.3, редакция 3.0).

Что такое проведение документа и зачем оно нужно?

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

Рассмотрим простой пример.

Пусть мы создали новый документ "Поступление наличных", указав в нём вид операции "Получение наличных в банке" и сумму 50 000 рублей:

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

Но считается ли этот документ проведенным? Конечно, нет. Чтобы убедиться в этом нажмём кнопку "ДтКт", которая покажет нам проводки документа:

А если нет проводок, то и в бухгалтерском учёте (например, в оборотно-сальдовой ведомости) мы эти поступившие 50 000 рублей никогда не увидим.

И в журнале этот документ будет без зелёной галочки:

Теперь проведём документ, нажав кнопку "Провести":

И снова проверим появились ли проводки (кнопка "ДтКт"):

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

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

Что происходит при нажатии кнопки "Записать" в проведенном документе?

Многие знакомые мне бухгалтеры до конца не понимают как работает кнопка "Записать", когда мы нажимаем её в уже проведённом документе. Перепроводится при этом документ или просто сохраняется с новыми данными, но проводки остаются старыми?

Чтобы было понятнее давайте рассмотрим 2 случая.

Мы работаем в не проведенном документе

При нажатии кнопки "Записать": документ сохраняется, но не проводится.

При нажатии кнопки "Провести": документ сохраняется, а затем проводится (формируются проводки).

Мы работаем в уже проведенном документе

При нажатии кнопки "Записать": документ сохраняется, а затем проводится (старые проводки удаляются и формируются новые).

При нажатии кнопки "Провести": документ сохраняется, а затем проводится (старые проводки удаляются и формируются новые).

Вывод

Если документ уже проведён, то никакой разницы между кнопками "Записать" и "Провести" нет. Они делают одно и то же - перепроводят документ.

Можно ли изменить проведенный документ без его перепроведения?

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

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

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

Так можно ли изменить проведенный документ, не проводя его снова?

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

Ответ для программистов: используйте вот такой код при программном сохранении измененного документа:

Как перепровести все документы по организации за период?

Когда речь идёт о текущем (ещё не закрытом) периоде я рекомендую поступать именно так - проводить вообще все документы разом за период по организации.

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

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

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

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

Наконец, нажимаем кнопку "Выполнить" и дожидаемся окончания процесса.

Как перепровести не все документы, а только определенного вида?

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

Открываем меню "Функции для технического специалиста. " (у вас его нет?):


В открывшемся диалоге раскрываем пункт "Стандартные" и в нём выбираем "Проведение документов":

Нажимаем кнопку "Открыть". Открылась встроенная в 1с обработка для проведения документов:

Здесь можно выбрать:

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

Выбираем нужное и нажимаем кнопку "Провести".

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

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

Самый изощрённый способ перепроведения на случай, если в базе несколько организаций

Внимание! Этот вариант предназначен для достаточно опытных пользователей. Если вы пользуетесь этой возможностью в первый раз - я настоятельно рекомендую создать резервную копию базы перед этим.

Покажу на примере.

Пусть у нас в базе много организаций и мы хотим перепровести уже проведенные документы реализации за 1 квартал 2013 года только по организации ООО "Юпитер".

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

Поэтому открываем меню "Функции для технического специалиста. " (у вас его нет?):


В открывшемся окне раскрываем пункт "Обработки" и находим там "Групповое изменение реквизитов":

В пункте "Выбор элементов для изменения" указываем "Реализация (акты, накладные":

Далее нажимаем на ссылку "Все элементы" справа от выбранного поля, чтобы уточнить какие именно документы нужно будет провести:

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

В данном случае я указал, что нам нужны только уже проведенные документы по организации Юпитер за 1 квартал 2013 года.

Настроив условия отбора нажимаем "ОК".

Теперь нажимаем кнопку "Дополнительные параметры" внизу формы:

Настраиваем параметры вот так:

Далее в списке находим реквизит "Проведен" и устанавливаем его в значение "Да":

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

нажимаем кнопку "Изменить реквизиты":

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

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

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

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

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

Вопрос

В тексте ОбработкаПроведения документа «Расходная накладная» записано:

// 1. подготовка регистра бухгалтерии
Движения.Управленческий.Записывать = Истина;
Движения.Управленческий.Записать();

// 2. установка блокировки данных регистра бухгалтерии
Блокировка = Новый БлокировкаДанных;

т.е. после инструкции «Движения.Управленческий.Записать();» следует инструкция наложения блокировки.

А в разделе «Общие, универсальные механизмы, которые используются для решения задач всех разделов» в главе, посвященной «старой» методике контроля остатков, после инструкций «Записывать = Истина; Записать();» рекомендовано восстанавливать для свойства «Записывать» набора движений значение «Истина».

// 1. Подготовка наборов записей регистра
Движения.ОстаткиНоменклатуры.Записывать = Истина;
Движения.Записать();

// 2. Восстановление для свойства набора движений Записывать значения Истина
Движения.ОстаткиНоменклатуры.Записывать = Истина;

Если на экзамене опустить повторную инструкцию «Записывать = Истина», это не будет считаться ошибкой?

Или существует какая то особенность в использовании метода «Записать()» у движений документов?

Ответ

Да, существует особенность. Все зависит от того, каким образом производится запись пустого набора. Обратите внимание, что в задаче бухгалтерского учета запись пустого набора осуществляется методом Движения.<ИмяРегистра>.Записать(). Это метод набора записей регистра. После его выполнения маркер записи движений не сбрасывается, поэтому его не нужно восстанавливать.

В задаче из общего раздела используется Движения.Записать(). Это метод коллекции движений документа. Он выполняет запись движений по регистрам, у которых установлен маркер записи «Записывать» в значении «Истина», после чего устанавливает его в значение «Ложь». Поэтому, требуется повторная установка признака записи. Если этого не сделать, то при проведении сформированные движения не будут записаны. Это будет ошибкой, и не только на экзамене!

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

Особенности использования поля "Проведен" и процесса проведения

В документах 1С:Предприятия 8 поддерживается механизм проведения. Он представляет собой реализованную на уровне системы методологию отражения в учетных механизмах события хозяйственной жизни, отражаемого документом. Механизм проведения реализован таким образом, чтобы, с одной стороны, минимизировать усилия разработчика при использовании его в типовых случаях, а, с другой стороны, чтобы обеспечить гибкие возможности изменения стандартной методологии.

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

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

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

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

Изменение значения поля Проведен может выполняться и без проведения или отмены проведения. Для этого достаточно просто изменить значение поля и выполнить запись документа. При этом может получиться непроведенный документ, имеющий движения. Следует заметить, что при таком способе изменения поля Проведен не будут вызываться обработчики ОбработкаПроведения() и ОбработкаУдаленияПроведения() . Эти обработчики сопровождают явным образом инициированные процессы проведения или отмены проведения, а не сам факт изменения поля Проведен.

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

Предлагаемая системой методология обеспечивает наиболее простой способ управления документом и его движениями для случая, когда документ содержит информацию о некотором событии, произошедшим на предприятии, а движения отражают эти события в различных учетных механизмах. Если у документа в метаданных свойство УдалениеДвижений имеет значение УдалятьАвтоматически, то перед проведением и при отмене проведения автоматически выполняется удаление существующих движений. Таким образом, при использовании стандартной методологии разработчику необходимо реализовать только формирование новых движений в обработчике ОбработкаПроведения() .

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

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

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

Читайте также: