Инструменты пользователя

Инструменты сайта


1c:объекты:документы

Документы

Описание

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

  • Номер - содержит номер документа, может быть строковым или числовым, в зависимости от настроек документа.
  • Дата - содержит дату документа
  • ПометкаУдаления - указывает на факт наличия пометки удаления, помеченный на удаление документ не может быть проведен
  • Ссылка - содержит ссылку на документ.
  • Проведен - указывает на проведенность документа, по аналогии с пометкой, проведенный документ, не может быть помечен на удаление.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • ДокументМенеджер позволяет:
    • Искать документы
      ТотСамыйДокумент = Документы.РасходИзКассы.НайтиПоНомеру("000001",'01.01.2008');

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

    • Строить выборки:
      ПараметрыОтбора = Новый Структура("Клиент", СпрИванов);
      ВыборкаДокументов = Документы.РасходИзКассы.Выбрать('01.01.2008', '31.12.2008', ПараметрыОтбора);

      Здесь мы отобрали все документы, у которых дата попадает в 2008 год и значение реквизита "Клиент" равно содержимому переменной "СпрИванов".

    • Создавать документы:
      НовыйДок = Документы.ПриходнаяНакладная.СоздатьДокумент();
      НовыйДок.Дата = ТеущаяДата();
      НовыйДок.Клиент = СпрИванов;
      //и тд
      НовыйДок.Записать();
  • ДокументВыборка – Позволяет обходить существующие в выборке документы, получать ссылки на них или читать значения их реквизитов.
  • ДокументСсылка – позволяет читать все данные объекта. Обычно в реквизитах хранятся именно ссылки на объекты.
  • ДокументОбъект – позволяет изменять данные объекта. Запись можно производить только в этом классе.

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

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

  • Документы.
  • Справочники.
  • Планы счетов.
  • Планы видов характеристик.
  • Планы видов расчетов.
  • Планы обмена.
Только авторизованные участники могут оставлять комментарии.
1c/объекты/документы.txt · Последнее изменение: 2016/04/23 21:23 — admin