Типизированные и типообразующие объекты
Одним из основных свойств некоторых объектов конфигурации является Тип данных. Это свойство определяет, какого рода информацию может содержать объект конфигурации. Тип данных объекта конфигурации назначается при создании или редактировании свойств объекта в процессе настройки конфигурации.
Объекты конфигурации, для которых может быть указан тип информации, содержащейся в объекте, в системе «1С:Предприятие» называются типизированными объектами конфигурации.
Такие объекты конфигурации, как Справочник, Документ, Обработка, не являются типизированными объектами, так как содержат «комплексную» информацию и, в свою очередь, включают в себя типизированные объекты конфигурации.
Типы данных, которые может принимать объект конфигурации, можно разделить на две группы.
Первую группу составляют примитивные типы данных: Число, Строка, Дата и Булево. Соответственно, информация, хранящаяся в объекте конфигурации, может быть числом, произвольной строкой символов, датой или логической величиной. Кроме этих типов к примитивным типам относят NULL, Неопределено и Тип (подробнее см. раздел «Примитивные типы данных» справки по встроенному языку).
Кроме этого, некоторые объекты конфигурации системы «1С:Предприятие» также могут образовывать типы данных. Например, константе может быть назначен тип данных ДокументСсылка. В этом случае значение константы будет представлять собой ссылку на один из существующих в системе «1С:Предприятие» документов.
Объекты конфигурации, которые могут образовывать типы значений конфигурации, в системе «1С:Предприятие» называются типообразующими объектами конфигурации. Такими объектами в системе «1С:Предприятие» являются:
● справочники,
● документы,
● планы видов характеристик,
● планы счетов,
● планы видов расчета,
● планы обмена,
● бизнес-процессы,
● задачи,
● перечисления.
Необходимо обратить внимание, что типообразующие объекты конфигурации образуют тип данных сразу после создания в конфигураторе объекта любого из таких типов. При этом появляются сразу три новых вида типов: Ссылка,Объект и Список. Например, когда в конфигураторе создается новый справочник, то в списке типов данных появляются новые типы данных: СправочникСсылка.<ИмяСправочника>, СправочникОбъект.<ИмяСправочника> иСправочникСписок.<ИмяСправочника>. Такие типы данных могут быть присвоены любому из типизированных объектов конфигурации.
Некоторые данные могут иметь составной тип. Для этого в окне редактирования типа данных нужно установить флажок Составной тип данных и указать те типы, которые могут принимать данные. Кроме того, допускается выбор специального типа ЛюбаяСсылка.
При выборе типа данных реквизита система, помимо выбора типов, определенных в конкретном прикладном решении, предоставляет разработчику возможность выбирать наборы типов. Наборами типов, например, являются ЛюбаяСсылка,СправочникСсылка, Характеристика.<имя> и др.
Наборы типов, так же как и составной тип данных, содержат некий перечень типов, определенных в данном прикладном решении, однако, в отличие от составного типа, этот перечень формируется системой автоматически, в результате анализа метаданных.
Например, в прикладном решении имеются справочники Номенклатура и Контрагенты. Если определен реквизит составного типа данных, в который входят типы СправочникСсылка.Номенклатура и СправочникСсылка.Контрагенты, то наряду с этим можно определить реквизит, содержащий набор типов СправочникСсылка. И в том и в другом случае можно хранить в реквизите ссылки как на справочник Номенклатура, так и на справочник Контрагенты.
После добавления нового справочника Цены в реквизите составного типа по-прежнему могут храниться только ссылки на справочники Номенклатура и Контрагенты, а в реквизите, описанном как набор типов, допускается хранение ссылки на любой из справочников, доступных в данной конфигурации, в том числе и на справочник Цены.
При запуске прикладного решения набор типов преобразуется системой, как правило, в составной тип, содержащий все типы, которые должны входить в этот набор. Поэтому во втором случае в набор типов попадет и новый справочникЦены.
Однако набор типов не всегда преобразуется системой в составной тип данных. Если оказывается, что в набор типов входит единственный тип значений, то набор типов будет преобразован в этот самый тип значений. Такая ситуация возможна, например, когда план видов характеристик (назовем его Свойства) имеет единственный тип значений в свойстве ТипЗначенияХарактеристик. Тогда набор типов Характеристика.Свойства будет преобразован системой не в составной тип данных, содержащий один тип значений, а в тот единственный тип значений, который указан для плана видов характеристик.
Эта особенность может быть важна, когда, например, выполняется проверка реквизита, тип которого описан какХарактеристика.Свойства, на заполненность. Когда Характеристика.Свойства преобразуется системой в составной тип данных, проверять нужно на значение Неопределено, а если Характеристика.Свойства преобразуется в определенный тип значения, то проверять нужно на значение по умолчанию данного типа.
Командный интерфейс
Командный интерфейс — это основное средство навигации пользователя по функциональности конфигурации. Командный интерфейс строится на основе подсистем. Разработчик конфигурации включает прикладные объекты в соответствующие подсистемы.
На основе этой информации (структуры подсистем и привязки объектов к подсистемам) система автоматически строит командный интерфейс для пользователя. Пользователю отображается структура прикладного решения (иерархия подсистем) и предоставляются стандартные команды доступа к функциональности прикладных объектов (вызов списков справочников, документов, открытие отчетов, обработок и т. д.). Однако разработчик, разумеется, может отредактировать предлагаемое системой построение командного интерфейса (изменить порядок, видимость команд). Для этого предназначен редактор командного интерфейса, который вызывается как для конкретной подсистемы, так и для всех подсистем.
Сами команды, включаемые в командный интерфейс (открытие списков, ввод новых объектов, открытие отчетов и т. д.), предоставляются системой автоматически. Но разработчик может создать свои команды, которые будут включаться в командный интерфейс.
Цель создания интерфейса — обеспечить структурированный доступ пользователей к той информации, которая необходима им в соответствии с их обязанностями.
Форма
Совокупность экранного диалога, модуля, реквизитов и команд называется формой.
Большинство объектов конфигурации в системе «1С:Предприятие» могут иметь визуальную форму. В самом общем случае форма как объект конфигурации состоит из следующих частей:
● Экранный диалог, используемый для ввода и редактирования информации.
● Модуль формы — программа на встроенном языке системы «1С:Предприятие». Как правило, модуль формы выполняет обработку вводимой в диалог информации для целей входного контроля, выполнения расчетов и т. д.
● Список реквизитов.
● Команды, используемые в форме.
Любая из этих составных частей формы может отсутствовать, то есть не содержать информации.
С помощью формы можно реализовать интерактивное взаимодействие прикладного объекта с пользователем. Характер такого взаимодействия разрабатывается специалистом, осуществляющим конфигурирование системы «1С:Предприятие». Подробнее об устройстве формы см. здесь.
Для разработки форм в конфигураторе применяется редактор форм, позволяющий редактировать все компоненты формы во взаимосвязи.
Модуль
Модулем называется программа на встроенном языке системы «1С:Предприятие». Модули располагаются в заданных точках структуры конфигурации и вызываются для выполнения в заранее известные моменты работы системы «1С:Предприятие». Специалист, выполняющий конфигурирование системы, может использовать модули для описания сложных алгоритмов взаимодействия объектов конфигурации, для которых недостаточно имеющихся в конфигураторе визуальных средств.
В конфигурации существует несколько видов модулей. Это модуль управляемого приложения, модуль обычного приложения, модуль внешнего соединения, модуль сеанса, общие модули, модули форм и модули объектов конфигурации (менеджеров значения констант, справочников, документов, планов видов характеристик, планов счетов, планов видов расчета, планов обмена, бизнес-процессов, задач, отчетов, обработок, наборов записей регистров), модули менеджеров объектов конфигурации (справочников, документов, планов видов характеристик, планов счетов, планов видов расчета, планов обмена, бизнес-процессов, задач, отчетов, обработок, регистров сведений, регистров накопления, регистров бухгалтерии, регистров расчета, перечислений, журналов документов, хранилищ настроек), модули наборов записей (регистров сведений, регистров накопления, регистров бухгалтерии, регистров расчета), модули команд.
Для доступа к модулю необходимо в контекстном меню объекта конфигурации выбрать пункт Открыть модуль... Для корневого объекта конфигурации выбирается модуль управляемого приложения, модуль сеанса, модуль внешнего соединения и модуль обычного приложения. Некоторые объекты (например, константы, журналы документов) не имеют модуля.
Подробное описание назначений модулей см. в разделе «Что такое программный модуль?» справки по встроенному языку.
В модулях объектов возможно объявление переменных, процедур и функций, которые будут доступны при работе с объектом извне во встроенном языке, дополняя контекст объекта. В этих модулях располагают процедуры обработки различных событий, например, ввода на основании. Также в них располагают различные процедуры, с помощью которых выполняются действия над объектом, инициированные вне данного объекта (например, выполнение печати).
Модуль менеджера позволяет расширить функциональность менеджеров, предоставляемых системой, за счет написания процедур и функций на встроенном языке. Фактически это позволяет описать методы для объекта конфигурации (например, справочника), которые относятся не к конкретному экземпляру объекта базы данных, а к самому объекту конфигурации. Модуль менеджера не может иметь переменных и тела модуля.
Если функции или процедуры модуля менеджера объявлены как экспортируемые, к ним можно будет получить доступ через менеджер объекта:
// Модуль менеджера справочника Контрагент.Функция ПолучитьСписокДебиторов()...КонецФункции// Вызов из прикладного кода.Дебиторы = Справочники.Контрагент.ПолучитьСписокДебиторов();Макет
Макетом в системе программ «1С:Предприятие» называется объект конфигурации, предназначенный для формирования печатных форм.
Общие макеты печатных форм располагаются в ветви Макеты ветви Общие дерева конфигурации: печатные формы объектов конфигурации (справочников, документов, журналов документов, планов счетов, планов видов характеристик, планов видов расчетов, регистров, отчетов и обработок и других объектов) располагаются в подчиненных объектах Макеты, а также во внешних файлах (в этом случае должно быть установлено свойство табличного документа Макет).
Макеты могут быть следующего типа:
● Табличный документ — предполагает использование стандартной технологии создания и использования макетов. Подготовка макета производится с помощью табличного редактора.
● Двоичные данные — используются двоичные данные.
● ActiveDocument — предполагает использование технологии OLE Active document.
● HTML-документ — предполагает использование редактора HTML-документа.
● Текстовый документ — предполагает использование текстового документа в качестве макета. Подготовка текстового макета производится с помощью редактора текстовых макетов.
● Географическая схема — предполагает использование географической схемы, подготовленной в редакторе географических схем, в качестве макета.
● Графическая схема — предполагает использование подготовленной в редакторе графической схемы.
● Схема компоновки данных — предполагает использование схемы компоновки данных, подготовленной в конструкторе.
● Макет оформления компоновки данных — предполагает использование макета оформления системы компоновки данных.
Варианты работы
«1С:Предприятие» поддерживает два варианта работы:
● файловый,
● клиент-серверный.
И в том и в другом варианте все прикладные решения работают полностью идентично. Файловый вариант работы в основном предназначен для персонального использования, в то время как клиент-серверный вариант — для использования в рабочих группах или в масштабе предприятия.
Файловый вариант
Файловый вариант работы с информационной базой рассчитан на персональную работу одного пользователя или работу небольшого количества пользователей в локальной сети. В этом варианте все данные информационной базы (конфигурация, база данных, административная информация) располагаются в одном файле.
Такой вариант работы обеспечивает легкость установки и эксплуатации автоматизированной системы. При этом для работы с информационной базой не требуются дополнительные программные средства, достаточно иметь операционную систему и «1С:Предприятие».
Файловый вариант «1С:Предприятия» обеспечивает высокую целостность информационной базы и простое создание резервных копий. Исключена ситуация, когда пользователь может по ошибке (например, при копировании информационной базы) перепутать различные файлы информационной базы и привести таким образом систему в неработоспособное состояние.
Кроме этого, резервное копирование может осуществляться на файловом уровне, путем простого копирования файла информационной базы.
Однако, несмотря на легкость и простоту использования, файловый вариант обладает некоторыми ограничениями (см.здесь).
Клиент-серверный вариант
Клиент-серверный вариант предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры «клиент-сервер».
Программа, работающая у пользователя (клиентское приложение), взаимодействует с кластером серверов «1С:Предприятия», а кластер, при необходимости, обращается к серверу баз данных (Microsoft SQL Server, PostgreSQL, IBM DB2 или Oracle Database). При этом физически кластер серверов «1С:Предприятия» и сервер баз данных могут располагаться как на одном компьютере, так и на разных. Это позволяет администратору при необходимости распределять нагрузку между серверами.
Использование кластера серверов «1С:Предприятия» позволяет сосредоточить на нем выполнение наиболее объемных операций по обработке данных. Например, при выполнении даже весьма сложных запросов программа, работающая у пользователя, будет получать только необходимую ей выборку, а вся промежуточная обработка будет выполняться на сервере. Обычно увеличить мощность кластера серверов гораздо проще, чем обновить весь парк клиентских машин.
Другим важным аспектом использования 3-уровневой архитектуры является удобство администрирования и упорядочивание доступа пользователей к информационной базе. В этом варианте пользователь не должен знать о физическом расположении конфигурации или базы данных. Весь доступ осуществляется через кластер серверов «1С:Предприятия». При обращении к той или иной информационной базе пользователь должен указать только имя кластера и имя информационной базы, а система запрашивает соответственно имя и пароль пользователя. Подробнее с администрированием системы можно ознакомиться в книге «1С:Предприятие 8.3. Руководство администратора».
Несмотря на то, что система «1С:Предприятие» старается скрыть от пользователя особенности поведения различных серверов баз данных, это не всегда удается. Особенности работы системы с тем или иным сервером баз данных см.здесь.
Важной особенностью работы в клиент-серверном варианте является возможность работы сервера «1С:Предприятия» и серверов баз данных на различных операционных системах (семейство Windows и различные дистрибутивы Linux).