Элемент проекта вида «Документ»
Элемент проекта Документ предназначен для моделирования объектов, которые имеют привязку ко времени и отражают некие свершившиеся факты, актуальность которых падает с течением времени.
Ближайшим аналогом являются бумажные документы: «Накладная», «Акт», «Счет». Важным аспектом является именно естественное устаревание каждого конкретного экземпляра с течением времени. Например, долгосрочный договор с клиентом чаще всего моделируется с помощью элемента проекта Справочник, хотя у него есть четкий бумажный аналог — документ договора. Однако, с точки зрения пользователя, договор устаревает медленно (или не устаревает вообще, пока существует договоренность с контрагентом). А вот факты конкретных бизнес-операций устаревают естественным образом: отгрузили накладную, оплатили счет — и забыли об этом. Состояние счетов и накладных недельной или годовой давности не интересует нас, как пользователя в дне сегодняшнем. Операция выполнена и осталась в истории. К ней можно вернуться, но она теряет релевантность при ведении бизнеса здесь и сейчас.
Таким образом, для договоров более важен факт их существования, поэтому в моделях для их описания, как правило, используется элемент проекта Справочник, а для оплаченных счетов или отгруженных накладных важна актуальность свежих данных. Существование старых (архивных) данных все менее ценно с каждым новым днем, поэтому для описания моделей «Счет» и «Накладная», как правило, используется элемент проекта Документ.
В зону ответственности элемента Документ не входит непосредственно формирование движений, так как движения это прерогатива регистров учета и алгоритма проведения, который хоть и опирается на данные документа, но не принадлежит документу. Документ, в лучшем случае, выступает только привязкой движения к первичному документу (регистратору) и основанием для движения.
Данные, содержащиеся в Документе, можно представить в виде таблицы, имеющей одну или несколько колонок. Строки этой таблицы содержат записи, которые являются объектами Документа. Все объекты Документа независимы друг от друга. Каждый такой объект имеет уникальный идентификатор, называемый ссылка. На каждый такой объект можно сослаться во время работы приложения, например, выбрать его при заполнении отчета.