
Полная версия:
1С:Профессионал по платформе: к экзамену готов

Рис. Aladdin Monitor
Основные объекты конфигурации
Объекты конфигурации – это составные части конфигурации.
Они представляют собой проблемно-ориентированные объекты, поддерживаемые на уровне технологической платформы.

Рис. Объекты конфигурации
Задача разработчика заключается в том, чтобы собрать из этих объектов, как из конструктора, необходимую структуру прикладного решения и затем описать специфические алгоритмы функционирования и взаимодействия этих объектов, отличающиеся от их типового поведения.
Для описания алгоритмов функционирования и взаимодействия объектов используются объекты встроенного языка.
Состав объектов, который может использовать разработчик, фиксирован и определен на уровне платформы.
Разработчик не может создавать собственные виды объектов, он может оперировать только тем набором объектов, который имеется. Подобный подход к разработке прикладных решений позволяет, во-первых, стандартизировать процесс разработки, а во-вторых – обеспечивает простую и быструю модификацию прикладных решений другими разработчиками или пользователями.
Константы
Константы – это прикладные объекты конфигурации, предназначенные для хранения постоянной или условно-постоянной информации. Такая информация либо совсем не изменяется в процессе деятельности предприятия, либо изменяется достаточно редко. Но значение в константе хранится одно без возможности получить его на определенную дату.

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

Рис. Стандартные реквизиты
При первом сохранении любого элемента прикладного объекта автоматически заполняется стандартный реквизит «Ссылка», который содержит внутренний глобальный уникальный 128-битный идентификатор записи (GUID, Globally Unique Identifier). Он автоматически генерируется системой при создании нового элемента. При редактировании существующего элемента прикладного объекта ссылка уже содержится и системой для этого элемента больше не генерируется.
Отсюда можно сделать однозначный вывод, если удалить элемент справочника и создать точно такой же, у них будет отличаться внутренний глобальный уникальный идентификатор (Ссылка), что может привести к изменению логики работы программы.

Рис. Внутренний глобальный уникальный идентификатор записи
Нумерация
Система поддерживает режим автоматической нумерации элементов, при котором она самостоятельно может генерировать код для нового элемента справочника. Кроме этого, система позволяет осуществлять контроль уникальности кодов справочника, не разрешая создавать элементы с одинаковыми кодами.
Формирование нового уникального кода справочника зависит от того, как у справочника настроены серии кодов:
• Во всем справочнике – в процессе формирования нового кода для элемента справочника будет сформирован код, уникальный для всего справочника.
• В пределах подчинения – в процессе формирования нового кода для элемента справочника будет сформирован код, уникальный в пределах иерархии элемента (элементы, имеющие одного и того же родителя, будут иметь различные коды; элементы, имеющие разных родителей, могут иметь одинаковые коды).
• В пределах подчинения владельцу – в процессе формирования нового кода для элемента справочника будет сформирован код, уникальный в пределах подчинения (элементы, имеющие одного и того же владельца, будут иметь различные коды; элементы, имеющие различных владельцев, могут иметь одинаковые коды).

Рис. Нумерация
Реквизиты
Помимо кода и наименования, каждый элемент справочника, как правило, содержит дополнительные данные, которые подробно описывают этот элемент. Для хранения таких данных служат реквизиты.
Реквизиты – это поля информационной базы данных, характеризующие элементы некоторого объекта конфигурации. Например, для контрагента это могут быть данные об ИНН, ФИО и т. д. Набор таких данных является одинаковым для всех элементов конкретного справочника.

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

Рис. Табличные части
Иерархия
Справочники могут поддерживать иерархическое расположение элементов:
• Иерархия групп и элементов
• Иерархия элементов
При установке вида иерархии в значение «Иерархия групп и элементов» появляется возможность создания группы. Например, в справочнике «Контрагенты» могут быть созданы группы: «Покупатели», «Поставщики», в которых располагаются элементы, относящиеся к этим группам. Кроме того, группы справочника могут включать в себя и другие группы, создавая тем самым многоуровневую иерархическую структуру.
При установке вида иерархии в значение «Иерархия элементов», появляется возможность установки подчинения одних элементов к другим элементам. Такой вид иерархии может использоваться, например, при создании справочника «Подразделения», где одно подразделение может включать в себя несколько других подразделений.

Рис. Виды иерархии
Владельцы
Разные справочники могут находиться в состоянии подчинения, т. е. элементы одного справочника могут быть подчинены элементам или группам другого справочника. Например, для ведения серийного учета справочник «СерииНоменклатуры» подчинен справочнику «Номенклатура». В этом случае к одной номенклатуре можно привязать несколько серий товара, например, «Сертификат на 3000».
Свойство «Использование подчинения» позволяет управлять ограничением, накладываемым на владельцев. Выделяют три вида подчинения по: «Элементам», «Группам», «Группам и элементам». Если у справочника несколько владельцев, то ограничение применяется ко всем владельцам.

Рис. Владельцы
Предопределенные элементы
Предопределённые элементы – это данные, созданные разработчиком в конфигураторе в момент разработки прикладного решения, обратиться к ним можно по имени, не прибегая к предварительному поиску элемента.
Предопределенные элементы можно создать в справочниках, планах видов характеристик, планах счетов и планах видов расчета.

Рис. Предопределенные элементы
Если удалить предопределенные элементы в конфигураторе, соответствующие объекты информационной базы помечаются на удаление. У этих объектов также снимается признак «Предопределенный».
Если удалить предопределенный элемент в режиме 1С:Предприятие, он будет удален только в режиме 1С:Предприятие, при этом в конфигурации предопределённый элемент останется.
Документы
Документы – это прикладные объекты конфигурации, предназначенные для хронологического отражения в информационной базе событий предметной области с целью фиксации совершаемых хозяйственных операций. Внутренних ограничений на количество видов документов в конфигурации нет, их количество определяется требованиями прикладной задачи.
Логика работы документов отличается от логики работы других объектов конфигурации тем, что документ обычно обладает способностью проведения. Факт проведения документа означает, что событие, которое отражает документ, повлияло на состояние учёта.
Стандартные реквизиты
Каждый документ характеризуется Номером и Датой (состав даты и времени) поэтому данные реквизиты являются стандартными и обязательными для заполнения.

Рис. Обязательные реквизиты
Важными характеристиками документа являются дата и время. Они позволяют установить строгую временную последовательность совершения операций. Таким образом, документы могут отличаться друг от друга не только номером, но и своим положением на временной оси. В результате всегда можно сказать, какая из двух операций была совершена раньше.
Дата документа позволяет точно позиционировать документ на оси времени по отношению к другим документам. На оси времени документ однозначно позиционируется моментом времени (Дата, Время и Ссылка на документ).

Рис. Документы на оси времени
Нумерация
Система поддерживает режим автоматической нумерации документов, при котором она самостоятельно может генерировать номер для нового документа.
Кроме этого, система позволяет осуществлять контроль уникальности номеров документов, не разрешая создавать документы с одинаковыми номерами. Уникальность номеров и автоматическая нумерация могут выполняться в пределах определенного периода (день, месяц, квартал или год). Например, если периодичность установлена год, то с нового года система опять начнет нумерацию указанных документов с 1.

Рис. Нумерация
Режим автонумерации объектов – это свойство конфигурации, которое определяет, использовать повторно или нет автоматически полученные номера объектов, если они не записаны в базу данных. Существует два режима:
• НеОсвобождатьАвтоматически (используется в новых версиях по умолчанию) – номер объект получает при записи, а не при открытии формы, в этом режиме у объектов будет идти непрерывная нумерация.
• ОсвобождатьАвтоматически – номер объект получает при открытии формы, но если пользователь откажется от записи объекта, то полученный номер будет в дальнейшем использоваться у другого объекта.
При создании нового документа и отказа от его записи номер документа может или не может быть использован повторно, это зависит от значения свойства конфигурации «Режим автонумерации объектов».

Рис. Режим автонумерации объектов
Реквизиты
Помимо номера и даты, каждый элемент документа, как правило, содержит дополнительные данные, которые подробно описывают этот элемент. Для хранения таких данных служат реквизиты, их количество определяется прикладной задачей. На уровне платформы явных ограничителей на их количество не существует.
Например, для документа «Заказ покупателя» это может быть информация о покупателе товаров (контрагенте), договоре, дате отгрузки и т. д.
Табличные части
Документ может содержать Табличные части. Например, для документа «Заказ покупателя» это может быть информация о товаре, количестве, цене, сумме, скидке по каждой позиции заказанной номенклатуры.
Количество Табличных частей определяется прикладной задачей. На уровне платформы явных ограничителей на их количество не существует. Число строк одной табличной части не может быть более 99 999 (100 000–1). Это связано с длиной реквизита «НомерСтроки», но с версии 8.3.27 технологической платформы в ОбъектМетаданных:ТабличнаяЧасть добавлено новое свойство – ДлинаНомераСтроки (LineNumberLength). Свойство может принимать целочисленное значение в диапазоне от 5 до 9 включительно, что позволяет хранить в табличной части до 999 999 999 (1 000 000 000–1) записей.

Рис. Реквизиты и табличные части
Проведение документа
Важным свойством документа является возможность его проведения. Если документ проводится, то он может изменить состояние тех или иных учитываемых данных. Если же документ не является «проводимым» это значит, что событие, которое он отражает, не влияет на состояние учета, который ведется в данном прикладном решении.
Например, документ «Заказ покупателя» при своем проведении может вносить изменения в состояние расчетов с покупателями, в учет запасов на складах, в состояние заказов покупателей и другие учетные данные.
Для документа «Доверенность» напротив, проведение может быть запрещено, потому что этот документ никак не влияет на состояние учета.
На закладке «Движения» производится настройка операции проведения. Документ может выступать в качестве регистратора движения только у тех регистров, которые отмечены на закладке «Движения» окна редактирования объекта.

Рис. Список регистров для регистрации движения
Механизм оперативного проведения предназначен для того, чтобы разделить случаи, когда документ проводится в реальном времени, и случаи, когда проведение документа отражает уже свершившийся факт.
Если необходимо документ проводить в будущем временем, то нужно установить свойство «Оперативное проведение» в значение «Запретить».
Когда нужно четко фиксировать факт проведения документа в реальном времени (без возможности проведения в будущем времени) или зафиксировать случившийся факт в прошлом времени (задним числом) необходимо установить свойство «Оперативное проведение» в значение «Разрешить».

Рис. Настройка оперативного проведения
Соответственно у документа есть процедура ОбработкаПроведения() в модуле объекта, данная процедура вызывается в момент срабатывания у документа метода Записать(). При необходимости от проведения можно отказаться используя оператор Отказ = Истина в процедуре ОбработкаПроведения().

Рис. Проведение документа
Ввод на основании
Одним из режимов ввода новых документов в процессе работы пользователя с системой 1С:Предприятие является режим ввода на основании.
С точки зрения пользователя режим ввода на основании позволяет вводить документы или элементы справочников, заполняя их реквизиты путем копирования информации из другого объекта информационной базы. В отличии от копирования – создания нового объекта копированием существующего, причем того же типа и с идентичными данными, ввод на основании обычно создает объект другого типа, данные которого лишь функционально зависят от «объекта-основания».
Например, документ «Заказ покупателя» можно ввести на основании документа «Событие», а на основании «Заказа покупателя» можно создать документ «Счет на оплату».

Рис. Ввод на основании
Механизм ввода на основании при работе с большим числом документов и элементов справочника позволяет сократить время на заполнение документов и справочников. Для отрабатывания данного механизма используется процедура ОбработкаЗаполнения(), где первым параметром ДанныеЗаполнения передается произвольное значение, которое используется как основание для заполнения текущего документа или справочника.

Рис. Ввод на основании
Оперативное проведение документов
При проведении документа срабатывает обработчик ОбработкаПроведения(<Отказ>, <РежимПроведения>), где в параметр «РежимПроведения» передается текущий режим проведения:
Оперативный – это проведение документа в режиме реального (текущего) времени. Дата для документа устанавливается автоматически. Не зависит от вида используемого регистра. В основном используется для организации механизма контроля текущих остатков.
Неоперативный – это проведение документа не в реальном времени, а в прошлом или будущем. Например, используется при проведении документа будущей датой.

Рис. Код обработчика ОбработкаПроведения(<Отказ>, <РежимПроведения>)
У документа в свойстве «Оперативное проведение» можно настроить режим оперативного проведения:
• Разрешено – разрешает проведение документов в «Оперативном режиме» и в «Неоперативном режиме». Таким образом, документы могут быть проведены в прошлом или текущем периоде.
• Запрещено – разрешает проведение документов только в «Неоперативном режиме». Таким образом, документы могут быть проведены в прошлом, текущем или будущем периоде.

Рис. Настройка оперативного проведения документов
Удаление движений
Записи из проведенного документа попадают в регистры. Если документ провести повторно или отменить его проведение, то система должна точно знать, как поступать с ранее внесёнными записями в регистре. Для этого существует специальное свойство «Удаление движений».

Рис. Настройка удаления движений
• Удалять автоматически при отмене проведения – движения, связанные с документом, удаляются автоматически только при удалении и отмене проведения документа. При проведении документа движения не удаляются, а перезаписываются. Такое поведение является стандартным для платформы 1С:Предприятие.

Рис. Схема проведения «Удалять автоматически при отмене проведения»
• Удалять автоматически – платформа автоматически удаляет старые записи движений, связанных с данным документом, при повторном проведении документа перед записью новых движений, а также при удалении и отмене проведения документа. Отключение этого режима имеет смысл, прежде всего, при решении задач оперативного учета в реальном времени.

Рис. Схема проведения «Удалять автоматически»
• Не удалять автоматически – автоматическое удаление движений при удалении и отмене проведения документа производиться не будет, разработчику необходимо самостоятельно реализовать механизм удаления старых записей. Один из вариантов использования документа с отключенным автоматическим удалением движений – это построчное проведение документа, при котором запись по новой строке добавляется в регистр без удаления всех ранее сделанных движений документа.

Рис. Схема проведения «Не удалять автоматически»
Последовательности документов
Последовательность документов – это прикладной объект конфигурации, предназначенный для обеспечения проведения определенных документов в строгой хронологической последовательности.
Механизм восстановления последовательности позволяет автоматически выполнить перепроведение всех документов, относящихся к последовательности, от текущей позиции границы (момент времени) последовательности до указанного момента.
Основные настройки
Перемещение границы при проведении – включает или выключает режим перемещения границы последовательности:
• Перемещать – документ, зарегистрированный в этой последовательности, при своем проведении будет пытаться переместить границу этой последовательности документов.
• Не перемещать – документ не будет перемещать границу этой последовательности документов при своем проведении.
Входящие документы – в этом свойстве указываются документы, которые могут регистрироваться в последовательности документов.
Движения, влияющие на последовательность – одно из основных свойств последовательности. Оно определяет, какие из движений будут влиять на необходимость перепроведения документов данной последовательности. В список данного параметра необходимо добавить те виды регистров, движения которых будут нарушать данную последовательность.
Последовательности могут использоваться с любыми регистрами.
Документы, являющиеся регистраторами регистров, указанных в свойстве «Движения, влияющие на последовательность» могут регистрировать новую границу последовательности документов своим моментом времени.

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

Рис. Восстановление последовательности
Нумераторы
Нумераторы – это прикладные объекты конфигурации, описывающие правила нумерации документов: тип, длину номера документа, его периодичность, необходимость контроля уникальности.