Какой тип информации не может содержаться в документах 1с
Документы — это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении информацию о совершенных хозяйственных операциях или о событиях, произошедших в «жизни» предприятия вообще. Это могут быть, например, приходные накладные, приказы о приеме на работу, счета, платежные поручения и т. д.
Структура документа
Каждый документ характеризуется номером, датой и временем. Система поддерживает режим автоматической нумерации документов, при котором она самостоятельно может генерировать номер для нового документа. Кроме этого система позволяет осуществлять контроль уникальности номеров документов, не разрешая создавать документы с одинаковыми номерами:
Система автоматически поддерживает режим, при котором уникальность номеров и автоматическая нумерация могут выполняться в пределах определенного периода (день, месяц, квартал, год). Например, если периодичность установлена год, то с нового года система опять начнет нумерацию указанных документов с 1.
Важными характеристиками документа являются дата и время. Они позволяют установить строгую временную последовательность совершения операций. Таким образом, документы могут отличаться друг от друга не только номером, но и своим положением на временной оси. В результате всегда можно сказать, какая из двух операций была совершена раньше.
Помимо номера, даты и времени, каждый документ, как правило, содержит некоторую дополнительную информацию, которая подробно описывает этот документ. Например, для документа Поступление товаров и услуг это может быть информация о поставщике товаров (контрагенте), складе, на который приходуются товары и т. п. Набор такой информации является одинаковым для всех документов конкретного вида, и для ее хранения служат реквизиты документа:
Кроме этого, каждый документ может содержать некоторый набор информации, которая одинакова по своей структуре, но различна по количеству, для разных документов. Например, для документа Поступление товаров и услуг это может быть информация о товарах, поступивших на предприятие (наименование, количество, и т. д.), серийных номерах и возвратной таре. Для хранения подобных данных служат табличные части документа:
Проведение документа
Важным свойством документа является возможность его проведения. Если документ проводится, то он может изменить состояние тех или иных учитываемых данных. Если же документ не является «проводимым» это значит, что событие, которое он отражает, не влияет на состояние учета, который ведется в данном прикладном решении.
Например, документ Поступление товаров и услуг при своем проведении может вносить изменения в состояние расчетов с поставщиками, в учет остатков товаров, в состояние заказов покупателей и другие учетные данные:
Для документа Коммерческое предложение контрагенту напротив, проведение может быть запрещено, потому что этот документ никак не влияет на состояние учета:
Конструктор движений
Алгоритм, на основании которого документ вносит те или иные изменения в состояние учетных данных при своем проведении, описывается средствами встроенного языка на этапе разработки прикладного решения. Система содержит конструктор движений, который помогает разработчику создавать алгоритмы проведения документа. Подробнее…
Формы документа
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в документах, система поддерживает несколько форм представления документа. Система может автоматически генерировать все нужные формы документа. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:
Форма списка
Для просмотра документов одного вида используется форма списка. Она позволяет выполнять навигацию по списку документов, задавать временной интервал отображаемых документов, добавлять, помечать на удаление и удалять документы. Форма списка позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:
Форма документа
Для просмотра и изменения данных отдельных документов используется форма документа. Как правило, она представляет данные в удобном для восприятия и редактирования виде:
Форма выбора
Кроме этих двух форм для документа поддерживается форма выбора конкретных документов из списка. Она, обычно, содержит минимальный набор информации, необходимой для выбора того или иного документа и может использоваться, например, при создании документа Поступление товаров и услуг, в котором должен быть указан заказ поставщику, на основании которого формируется поступление товаров.
Макеты документа
Документу могут быть сопоставлены несколько макетов, содержащих данные, необходимые для обеспечения работы документа:
Макеты могут использоваться для формирования печатных форм документа или для отображения дополнительной информации, имеющей отношение к документу:
Источник
Система типов — это особая система, по которой организуются данные, используемые прикладными решениями. Система типов позволяет представить информацию реального мира в терминах, «понятных» для «1С:Предприятия 8».
Система типов предоставляет широкие возможности как для описания непосредственно бизнес-логики прикладных решений, так и для выполнения задач промежуточной обработки данных.
Описание системы типов содержится в синтакс-помощнике, во встроенной справке и в документации.
Основной особенностью системы типов является то, что есть типы, существующие в любом прикладном решении. Сами эти типы определены на уровне платформы и присутствуют всегда, независимо от действий разработчика. Наряду с ними в конкретном прикладном решении могут существовать различные типы данных, присущие именно этому конкретному прикладному решению. Для таких типов данных на уровне платформы определены лишь общие правила их создания, шаблоны. А конкретные типы данных создаются платформой уже исходя из того, каким образом разработчик формирует и модифицирует структуру прикладного решения.
Типы данных, определенные на уровне платформы
Набор типов, которыми могут оперировать прикладные решения, довольно разнообразен. Он позволяет решать как задачи обработки данных, так и задачи представления этих данных пользователю и интерактивной работы с ними. Можно выделить несколько основных категорий типов данных.
Примитивные типы
Примитивные типы данных — это такие типы как Строка, Число, Дата, Булево и другие. Эти типы не являются чем-то особенным для «1С:Предприятия 8». Как правило, такие типы данных существуют и в других программных системах.
Значения примитивных типов являются простыми неделимыми значениями, в которых нельзя выделить отдельные составляющие. Например, значениями типа Число могут быть 1, 8, 15 и др. Чтобы создать значение примитивного типа, в тексте программы нужно указать его литерал — символьный идентификатор значения.
Универсальные коллекции значений
Также, существуют более сложные типы данных. Например, платформа поддерживает целый ряд типов, которые представляют собой универсальные коллекции значений: Массив, Структура, СписокЗначений и другие.
Общие типы
Кроме этого в платформе реализованы специфические типы данных, реализующие ту или иную функциональность прикладных решений: ТекстовыйДокумент, ТабличныйДокумент, ХранилищеЗначения, ПостроительЗапроса и другие.
Общие типы называют также общими объектами. Значения этих типов, в отличие от значений примитивных типов, представляют собой совокупность значений отдельных свойств объекта. Поэтому их называют экземплярами объектов.
Экземпляры объектов создаются с помощью специального оператора встроенного языка — Новый.
Интерфейсные типы
Интерфейсные типы позволяют организовывать визуальное взаимодействие прикладного решения с пользователем. В основном это типы, связанные с работой форм и их элементов.
Типы данных, образуемые в прикладном решении
Однако, наряду с типами данных, которые определены на уровне платформы, конкретное прикладное решение может использовать уникальные типы данных, существующие только в этом конкретном прикладном решении. Причем платформа будет полностью поддерживать работу с этими типами данных точно так же, как и с типами, которые определены на уровне самой платформы.
Как правило, появление новых типов данных в прикладном решении связано с использованием прикладных объектов конфигурации. Поэтому такие типы называют еще прикладными типами или прикладными объектами.
На уровне платформы поддерживается несколько классов (шаблонов) прикладных объектов, которые сами по себе не могут быть использованы в конкретном прикладном решении. Например, можно перечислить такие классы прикладных объектов как Справочники, Документы, Регистры сведений, Планы видов характеристик и пр.
Для каждого класса прикладных объектов определена соответствующая ему базовая функциональность: типы таблиц базы данных, которые должны быть созданы для хранения данных, типовые формы, типовые объекты языка, наборы прав и пр.
Разработчик, создавая прикладное решение, не имеет возможности использовать эти классы напрямую, однако может добавить в свое прикладное решение новый объект конфигурации, наследующий всю функциональность того или иного класса:
Например, разработчик может добавить в свое прикладное решение новый справочник Номенклатура, который будет наследовать функциональность класса Справочники, или новый документ КассовыйОтчет, который будет наследовать функциональность класса Документы.
Сразу же после такого добавления разработчику становятся доступны новые типы данных, состав которых определяется принадлежностью объекта конфигурации к тому или иному классу прикладных объектов.
Например, после создания нового справочника Номенклатура, становятся доступны следующие типы данных:
- СправочникМенеджер.Номенклатура;
- СправочникСсылка.Номенклатура;
- СправочникОбъект.Номенклатура;
- СправочникВыборка.Номенклатура;
- СправочникСписок.Номенклатура.
Система типов описывает лишь общую «структуру» такого типа, правила, по которым будут формироваться объекты этого типа. Конкретное имя типа, состав свойств и методов объекта будут зависеть от того, как разработчик назовет объект конфигурации и какие, например, реквизиты, табличные части он в него добавит.
В то же время, после создания нового регистра накопления ПродажиКомпании, состав новых типов данных будет уже другим:
- РегистрНакопленияМенеджер.ПродажиКомпании,
- РегистрНакопленияВыборка.ПродажиКомпании,
- РегистрНакопленияСписок.ПродажиКомпании,
- РегистрНакопленияНаборЗаписей.ПродажиКомпании,
- РегистрНакопленияЗапись.ПродажиКомпании,
- РегистрНакопленияКлючЗаписи.ПродажиКомпании.
Следует еще раз отметить, что эти типы данных не поддерживаются платформой изначально, и существуют только в конкретном прикладном решении.
Еще один момент, на котором следует акцентировать внимание, проще всего продемонстрировать на примере.
Допустим, в прикладном решении созданы два новых справочника: Номенклатура и Цены. Несмотря на то, что оба эти объекта унаследовали функциональность соответствующего класса Справочники, и для них в прикладном решении был создан один и тот же состав типов данных, «одноименные» типы данных будут являться различными типами данных. Например, СправочникОбъект.Номенклатура и СправочникОбъект.Цены — это различные типы данных.
Так происходит потому, что разработчик может дополнительно к базовой функциональности, унаследованной от соответствующего класса, добавить свою, особенную для каждого объекта конфигурации. Например, оба упомянутых выше справочника могут содержать табличные части (это унаследовано от класса Справочники). Однако для справочника Цены разработчик не создаст ни одной табличной части, в то время как для справочника Номенклатура он создаст, например, три табличные части. Очевидно, что структура хранения данных типа СправочникОбъект.Номенклатура будет значительно отличаться от структуры хранения данных типа СправочникОбъект.Цены.
Источник
Объект 1С «Документы» — объект метаданных, с помощью которого в прикладном решении хранится информация о совершенных хозяйственных операциях или о событиях, произошедших в «жизни» предприятия вообще. Это могут быть, например, приходные накладные, приказы о приеме на работу, счета, платежные поручения и т.д.
Каждый созданный документ в конфигурации создается для отражения своего типа операции (например, поступление товаров, списание товаров и т.д.).
Документы могут:
- проводиться;
- просто записываться.
Состояния документа 1С:
- не помечен на удаление и не проведен;
- не помечен на удаление и проведен;
- помечен на удаление и не проведен.
Объект встроенного языка «Момент времени» содержит дату проведения документа и ссылку на него, что позволяет однозначно идентифицировать положение документа на временной оси.
Значения свойств «Дата» и «Ссылка» реальных полей таблицы документа определяют его хронологическую позицию среди других документов.
Структура документа в 1С
Каждый документ 1С содержит:
- номер;
- дату и время (позволяют установить строгую временную последовательность совершения операций);
- набор реквизитов (набор информации, которая является одинаковой для всех документов этого конкретного вида);
- табличные части (набор информации, которая одинакова по своей структуре, но различна по количеству, для разных документов этого конкретного вида);
Рекомендуется устанавливать строковый тип номера, так как в дальнейшем возможно потребуется указывать в номере и префикс организации.
Подробнее
Таким образом, документы могут отличаться друг от друга не только номером, но и своим положением на временной оси (моментом времени). В результате всегда можно сказать, какая из двух операций была совершена раньше.
Пример программного получения момента времени:
&НаКлиенте Процедура ПолучитьМоментВремени(Команда) ПолучитьМоментВремениНаСервере(Объект.Ссылка); КонецПроцедуры &НаСервере Процедура ПолучитьМоментВремениНаСервере(Ссылка) Если Ссылка.Пустая() Тогда Сообщить(“Документ не записан!”); Возврат; КонецЕсли; ДокументОбъект = Ссылка.ПолучитьОбъект(); МоментВремени = ДокументОбъект.МоментВремени(); Сообщить(МоментВремени); КонецПроцедуры |
Возможные значения свойства «Периодичность»:
- Непериодический;
- В пределах года (как правило, означает, что в новом году нумерация документов начнется сначала);
- В пределах квартала;
- В пределах месяца;
- В пределах дня.
[свернуть]
Реквизиты и табличные части документа 1С
Помимо номера, даты и времени, каждый документ, как правило, содержит некоторую дополнительную информацию, которая подробно описывает этот документ. Например, для документа «Поступление товаров и услуг» это может быть информация о поставщике товаров (контрагенте), складе, на который приходуются товары и т.п. Набор такой информации является одинаковым для всех документов конкретного вида, и для ее хранения служат реквизиты документа.
Кроме этого, каждый документ может содержать некоторый набор информации, которая не имеет объектной сущности, одинакова по своей структуре, но различна по количеству, для разных документов. Например, для документа Поступление товаров и услуг это может быть информация о товарах, поступивших на предприятие (наименование, количество, и т.д.), серийных номерах и возвратной таре. Для хранения подобных данных служат табличные части документа.
Система 1С поддерживает:
- режим автоматической нумерации документов (автоматической генерации номера для нового документа);
- осуществление контроля уникальности номеров документов, не разрешая создавать документы с одинаковыми номерами (флаг «Автонумерация» на вкладке «Нумерация»);
- автоматический режим, при котором уникальность номеров и автоматическая нумерация могут выполняться в пределах определенного периода (день, месяц, квартал, год). Например, если периодичность установлена год, то с нового года система опять начнет нумерацию указанных документов с 1.
Иногда возникают ситуации, когда для нескольких видов документов необходима сквозная нумерация. Для этих случаем в системе предусмотрен такой объект как нумератор.
Проведение документа 1С
Важным свойством документа является возможность его проведения:
- если документ проводится, то он может изменить состояние тех или иных учитываемых данных, и как правило, при проведении создает записи в регистрах сведений, регистрах накопления, регистрах бухгалтерии, регистрах расчета, тем самым внося изменения в учет организации;
- если же документ не является «проводимым», значит, что событие, которое он отражает, не влияет на состояние учета, который ведется в данном прикладном решении (документы, у которых запрещено проведение, обычно используются как печатные формы, например: счет, доверенность и т.д.).
Если флаг «Проведен» у документа установлен в «Истина», то для системы это означает, что документ проведен (в общем списке такие документы выделены соответствующей пиктограммой). С точки зрения логики программы проведенный документ может влиять на отчетность (финансовый результат компании).
Когда происходит интерактивное или программное проведение срабатывает процедура «ОбработкаПроведения()», которая находится в модуле объекта документа.
Процедура ОбработкаПроведения(Отказ, РежимПроведения) // Содержимое обработчика (движения в регистры, прописываются разработчиком) КонецПроцедуры |
Данная процедура имеет два параметра:
- Если выставить параметру «Отказ» значение «Истина», то проведение не будет выполнено;
- Параметр «Режим» устанавливает режим проведения документа — оперативное или неоперативное.
То, в какие регистры документ будет делать движения задается на вкладке «Движения».
Примеры
Отсюда https://v8.1c.ru
Например, документ «Поступление товаров и услуг» при своем проведении может вносить изменения:
- в состояние расчетов с поставщиками;
- в учет остатков товаров;
- в состояние заказов покупателей;
- другие учетные данные.
Для документа «Коммерческое предложение контрагенту» проведение может быть запрещено, так как этот документ никак не влияет на состояние учета.
[свернуть]
Конструктор движений документов 1С
Алгоритм, на основании которого документ вносит те или иные изменения в состояние учетных данных при своем проведении, описывается средствами встроенного языка на этапе разработки прикладного решения. Система содержит конструктор движений, который помогает разработчику создавать алгоритмы проведения документа.
Конструктор движений — один из инструментов разработки, который используется только для документов и помогает создать процедуру обработки проведения документа на встроенном языке.
Конструктор может быть вызван из окна редактирования документа.
Конструктор движений позволяет:
- выбрать регистры, в которые будут вноситься записи;
- вручную или автоматически заполнить выражения, которые будут записаны в поля регистра.
Результатом работы конструктора является готовая процедура на встроенном языке с именем ОбработкаПроведения. Эта процедура располагается в модуле документа и будет вызвана системой в момент проведения документа.
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Процедура ОбработкаПроведения(Отказ, РежимПроведения) //__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения // будут утеряны!!! // регистр ТоварыНаСкладе Приход Движения.ТоварыНаСкладе.Записывать = Истина; Для Каждого ТекСтрокаТовары Из Товары Цикл Движение = Движения.ТоварыНаСкладе.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Товар = ТекСтрокаТовары.Товар; Движение.Количество = ТекСтрокаТовары.Количество; КонецЦикла; //__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры |
[свернуть]
Формы документа 1С
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в документах, система поддерживает и может автоматически генерировать несколько форм представления документа (все нужные формы документа).
Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию.
Форма документа 1С
Форма документа 1С предназначена для просмотра и изменения данных отдельных документов.
Как правило, она представляет данные в удобном для восприятия и редактирования виде.
Рисунок
[свернуть]
Форма списка документа 1С
Форма списка документа 1С предназначена для просмотра документов одного вида и позволяет:
- выполнять навигацию по списку документов;
- задавать временной интервал отображаемых документов;
- добавлять, помечать на удаление и удалять документы;
- выполнять сортировку и отбор отображаемой информации по нескольким критериям.
Форма выбора документа 1С
Форма выбора документа 1С предназначена для выбора конкретных документов из списка, и обычно содержит минимальный набор информации, необходимой для выбора того или иного документа.
Может использоваться и при создании документа.
Макеты документа 1С
Макеты документа 1С предназначены для формирования печатных форм документа (бланков) или для отображения дополнительной информации, имеющей отношение к документу.
Документу 1С могут быть сопоставлены несколько макетов, содержащих данные, необходимые для обеспечения работы документа.
Настройка и свойства документов 1C
Вкладка «Движения»
Вкладка “Движения”
[свернуть]
Вкладка «Движения» определяет состав регистров, по которым будет делать движения документ, и позволяет устанавливать следующие свойства документа:
- Проведение (Разрешить или Запретить) — определяет, разрешено ли проведение (движения) данного документа.
- Оперативное проведение (Разрешить или Запретить) — если установлено «Разрешить», то проведение документа будущей датой невозможно.
- Удаление движений — определяет режим очистки движения документа:
- Удалять автоматически при отмене проведения — движения будут очищены только при нажатии кнопки «Отмена проведения», но не удаляются при перепроведении;
- Удалять автоматически — движения будут удаляться в любом случае, даже если документ 1С перепроводится;
- Не удалять автоматически — значит, что удаление движений осуществляется разработчиком.
Оперативное и неоперативное проведение документа 1С
Оперативное проведение — это проведение документа текущей датой и временем, даже если в документе вручную указаны иные (прошлые или будущие) время и дата (подробнее…).
Рисунок
[свернуть]
Для тех видов документов, для которых в метаданных данное свойство включено, система поддерживает режим оперативного проведения, то есть, каждое проведение может выполняться:
- либо в оперативном режиме,
- либо в неоперативном режиме.
При включенном в конфигураторе режиме «Оперативное проведение» — «Разрешить» можно проводить:
- либо документ с предыдущей датой,
- либо документ с текущей датой и текущим временем.
В оперативном режиме система контролирует остатки по регистрам для исключения отрицательных остатков (баланса). Такой контроль имеет смысл только в текущий момент, т.к. отклонение времени проведения даже на секунду (раньше или позже) может привести к иному состоянию базы, чем в момент самого проведения.
Неоперативное проведение — проведение документа прошлой или будущей датой. Контроль остатков в данном режиме проведения не выполняется (при проведении «задним числом» практического смысла не несет, товар все равно уже отгружен).
Неоперативное проведение может нарушать партионный учет: при проведении списания со склада задним числом будет списана первая подходящая партия, а не та, что должна была идти по ФИФО в тот момент времени, что указан в документе. Партии после неоперативного проведения придется восстанавливать.
[свернуть]
Вкладка «Ввод на основании»
Ввод на основании обычно создает объект другого типа, данные которого лишь функционально зависят от «объекта-основания» (в отличие от «копирования» – создания нового объекта копированием существующего, причем того же типа и с идентичными данными).
Документ может быть введен на основании:
- плана обмена,
- справочника,
- бизнес-процесса,
- задачи,
- другого документа.
Для удобства можно воспользоваться специальным конструктором ввода на основании, который автоматически сгенерирует модуль обработчика заполнения.
Источник