Содержание

Документы

Описание

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

Момент времени

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

Дата и время документа.

При вводе документа система автоматически устанавливает текущие дату и время документу. Это поведение настраивается на уровне свойств документа.

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

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

Оперативное проведение

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

Неоперативное проведение

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

Состояние документа

Документ всегда находится в каком то одном из трех состояний

Движения документа

Движения документа – это записи в регистрах накопления или сведений, подчиненных этому документу. Какие именно записи будут занесены в регистр, определяется с помощью процедуры ОбработкаПроведения в модуле документа, в случае если первый параметр этой процедуры (который по умолчанию называется Отказ) не выставляется в Истина, документ получает статус Проведен. В случае "прямой" записи в регистры подчиненные регистратору, достаточно просто ссылки на документ - регистратор, сам документ может быть не проведен или даже помечен на удаление. Другими словами программно можно сформировать любые записи в регистре «подсунув» под них подходящий по виду документ.

Часто используемые классы

Ввод на основании

Ввод на основании служит для ввода нового объекта одного вида, на основании данных объекта другого вида, например ввод счета фактуры на основании документа реализация. Этот прием удобен тем, что при вводе на основании в приемнике срабатывает процедура ОбработкаЗаполнения в которой доступен источник ввода на основании, и его данные можно использовать для заполнения данных текущего объекта. Данные заполняются из программного кода, автоматически система ничего не фиксирует. Ввод на основании доступен для следующих типов метаданных: