Проведенные документы помечаются в списке специальным значком с галочкой ("). Документы, для которых проведение запрещено, в списке отображаются с почти таким же значком, как и проведенные документы. Считается, что после записи таких документов с точки зрения пользователя их обработка полностью завершена, аналогично проведенным документам. Непроведенные документы, которые могут проводиться, также отмечаются в списке особым значком.
Ниже показана закладка «Движения», на которой задаются основные параметры проведения документа.
Самый первый параметр разрешает или запрещает проведение документа.
В списке регистров нужно выбрать только те регистры, по которым данный документ может делать движения. Не стоит отмечать все регистры подряд, так как это может отрицательно сказаться на производительности. В этом списке должны быть помечены только те регистры, по которым документ действительно может делать движения.
Внимание! Не снимайте флажок напротив регистра, если вы точно не уверены, что делаете. При снятии флажка и реструктуризации базы данных все существующие движения документа по этому регистру будут уничтожены! Даже если вы вновь установите флажок, движения по регистру не восстановятся, и потребуется перепроведение документов или повторный ввод движений, если движения были введены вручную.
Стоит отметить, что в 1С:Предприятии 8.0 проведение документа и движения по регистрам не связаны жестко. Документ может быть не проведен и иметь движения.
Рассмотрим параметр «Оперативное проведение». При таком проведении можно контролировать текущие остатки регистров, например, при проведении расходной накладной нужно проверить, достаточно ли товара на складе. Однако иногда бывает так, что документы проводятся не текущей датой, а «задним числом». Обычно такое случается, когда в документе была обнаружена ошибка или какой-то документ раньше не был введен в базу данных. В таких случаях применяется неоперативное проведение, при котором в конфигурации не должно быть обращений к текущим итогам регистров.
Таким образом, документ проводится оперативно в момент совершения самой операции в жизни предприятия, и такое проведение должно помочь выполнить эту операцию непротиворечиво. А неоперативное проведение отражает уже свершившийся факт, при этом не следует использовать реальные итоги регистров.
Например, в модуле документа расходной накладной в процедуре ОбработкаПроведения могут быть следующие строки:
Процедура ОбработкаПроведения(Отказ, Режим)
//проверка остатка производится только при оперативном проведении
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
Если ОстатокНаСкладе < СтрокаСостава.Количество Тогда
Сообщить("Товара " + СокрЛП(СтрокаСостава.Номенклатура) +
" имеется только " + Остаток);
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
При удалении документа или при отмене его проведения движения документа обычно удаляются автоматически, но это можно регулировать установкой параметра «Удаление движений». Для некоторых видов документов разработчик может отменить данную возможность и управлять удалением движении самостоятельно через свойство Движения, предоставляющее доступ к коллекции движений документа.
При оперативном проведении дата документа, как правило, изменяется на текущий момент, что является обычным поведением системы. Но разработчик может взять этот процесс под свой контроль. Он сам может получать очередную оперативную отметку времени и присваивать ее документу при проведении или при записи. Для этого предназначен метод глобального контекста ПолучитьОперативнуюОтметкуВремени. Его возвращаемое значение соответствует текущей дате (с учетом времени), но будет не меньше, чем последняя оперативная отметка времени, полученная каким-либо пользователем в этом сеансе работы с информационной базой. Таким образом, 1С:Предприятие 8.0 предоставляет механизм для получения неповторяющихся отметок времени.
Например:
Процедура ПередЗаписыз (Отказ, РежимЗаписи, РежимПроведения)
Дата = ПолучитьОперативнуюОтметкуВремени();
КонецПроцедуры