На этапе создания конфигурации разработчик анализирует предметную область и требования пользователей, создает объекты конфигурации, настраивает связи между ними путем установки их свойств, визуально конструирует экранные формы и макеты отчетов, пишет программные модули в определенных точках конфигурации. В результате получается прикладное решение, призванное облегчить работу конечных пользователей.
Структура прикладного решения (конфигурации) определяется составом объектов конфигурации и взаимосвязями между ними. Под объектами конфигурации понимаются средства 1С:Предприятия, предназначенные для отражения реальных объектов и явлений предметной области, например, справочник "Контрагенты", документ "Счет" и т.д. Разработчик может создавать объекты, не имеющие явного физического воплощения в предметной области, но необходимые для решения задачи, например, регистры сведений, обработки и т.д.
В самом общем виде взаимосвязь всех объектов можно представить следующим образом:
В платформе 1С:Предприятия 8 существуют следующие объекты конфигурации (кроме тех, которые располагаются в ветви Общие):
В константах хранятся редко изменяемые значения, например, Название организации, ИНН, ФИО руководителя и т.д. У константы обычно назначен примитивный, ссылочный или составной тип данных.
В справочниках содержится условно-постоянная списковая информация, например, список товаров, список сотрудников. Такие объекты обычно характеризуются кодом и наименованием.
У справочников также могут быть реквизиты, задаваемые разработчиком, и табличные части, что является важным отличием от версии 7.7. Теперь информацию, связанную с объектом, целиком ему принадлежащую и не имеющую объектной сущности, можно хранить в табличных частях.
Также имейте в виду, что периодических реквизитов справочников в версии 8 больше нет и вместо них для хранения истории изменения данных можно использовать периодические регистры сведений. Подробнее о регистрах сведений написано ниже.
Документы хранят информацию о событиях в предметной области, о проведенных или планируемых хозяйственных операциях, например "Приходная накладная", "Платежное поручение", "План продаж" и т.д. Документ характеризуется номером и датой. Обычно при проведении документа изменяется состояние регистров, например, увеличивается количество товара в регистре Остатки при проведении приходной накладной.
У документа может быть несколько табличных частей, что является важным отличием от версии 7.7. Табличные части позволяют сохранить связанную с документом списковую разнородную информацию, например, перечень товаров, график платежей, список дополнительных расходов и т.д.
Журналы — это средство группировки связанных по смыслу документов, например, журнал Склад объединяет приходные и расходные накладные. Аналогично могут быть созданы журналы Банк, Кадры и т.д. Заметьте, что создавать журнал для отображения документов одного вида не нужно, поскольку у каждого документа есть форма списка, которая генерируется автоматически или которую можно создать самостоятельно. Журналы полезны только для группировки документов разного вида.
Нумераторы — это служебные объекты, связанные с документами и предназначенные для единой (сквозной) нумерации документов нескольких видов, например, нумератор "Кадровый", который используется для присвоения номеров всем кадровым приказам. Опять же нумератор имеет смысл, когда требуется присваивать номера по единому правилу документам разных видов.
Предназначены для выстраивания документов в единую хронологическую последовательность, например, "Партионный учет". Последовательности позволяют контролировать дату актуальности итогов регистров. Например, если документ при своем проведении использует итоги какого-либа регистра, то при изменении движений этого регистра, которые были до даты проведения документа, движения документа могут стать некорректными.
Чтобы восстановить правильность движений документа, его нужно перепровести. Последовательность позволяет определить дату (момент времени), на которую итоги регистра являются правильными. При нарушении последовательности пользователь должен ее восстановить путем перепроведения всех документов, входящих в последовательность, начиная от текущей границы актуальности.
В отличие от версии 7.7, в версии 8 у последовательностей могут быть измерения, которые позволяют более точно отследить по каким данным были нарушены итоги, например, по конкретному товару или конкретному контрагенту. Тогда восстановление последовательности будет происходить быстрее за счет того, что будут перепроводиться не все документы, а только те, которые сделали движения по значению данного измерения.
Перечисление — это предопределенный набор значений, заданный еще на этапе разработки приложения, который не редактируется в режиме Предприятие. Конфигурация рассчитывает на определенные значения, например, перечисление ТипКлиента со значениями Обычный и ОченьВажнаяПерсона. Для VIP-клиентов можно предусмотреть скидки.
На основе информации из базы данных отчеты выдают печатные формы, содержащие всевозможные реестры, детальную и сводную информацию, например, отчеты "Оборотно-сальдовая ведомость", "Список сотрудников", "Анализ продаж".
Отчеты, как и многие другие объекты конфигурации, могут иметь реквизиты и табличные части, но их смысл отличается от реквизитов и табличных частей справочников и документов. Дело в том, что отчет (и обработки) - это объекты, которые не сохраняются в базе данных, а существуют только в определенные периоды времени, пока с ними работает пользователь. Поэтому нужно понимать назначение реквизитов и табличных частей отчетов (обработок) - они используются для указания параметров формирования отчетов и выполнения обработок.
Производят некоторую обработку информации, содержащейся в базе данных, например, обработка "Расчет зарплаты", "Закрытие периода".
У обработок могут быть реквизиты и табличные части, их смысл аналогичен реквизитам и табличным частям отчетов, и совершенно отличается от справочников и документов.
Предназначены для хранения дополнительных характеристик объектов, например дополнительных свойств товаров (вес, цвет, размер). Новые свойства можно вводить в режиме Предприятие. Через этот объект реализован механизм субконто в бухгалтерском учете.
Подробнее о планах видов характеристик можно прочитать в этом разделе.
Предназначены для хранения любой информации об объектах в разрезе заданных измерений, например, "Цены товаров". Особенность регистра сведений от регистра накопления состоит в том, что в регистре сведений каждая запись уникальна и полностью определяется своими измерениями. Например, если регистр сведений "ЦеныТоваров" имеет измерения Номенклатура и ТипЦен, то мы не сможем ввести в этот регистр две цены одного типа по одной номенклатуре, например, две оптовые цены товара "Холодильник Bosh 1232".
Если требуется хранить историю изменения информации, то регистр сведений делается периодическим, например, "Курсы валют". Для таких регистров в ключ уникальности записи, кроме измерений, добавляется поле "Период".
В регистрах сведений, подчиненных регистратору, каждая запись должна быть обязательно связано с документом-регистратором. Это не означает, что она вводится этим документом при своем проведении, но она обязательно должна содержать ссылку на документ в поле "Регистратор".
Предназначены для хранения информации поддающейся суммированию и развернутой по комбинации измерений, например, "Остатки товаров", "Продажи", "Взаиморасчеты". Регистры накопления делятся на регистры остатков и регистры оборотов. Первые выдают информацию на момент времени, а вторые - за период.
Содержат список счетов для бухгалтерского или управленческого учета, например, план счетов "Основной", "Управленческий", "ПланGAAP". Заметьте, что в отличие от версии 7.7, добавление нового плана счетов еще не означает полного разделения учета, поскольку все проводки хранятся в регистрах бухгалтерии, описанных чуть ниже. Поэтому для отделения одних проводок от других нужно завести еще новый регистр бухгалтерии, основанный на определенном плане счетов
Хранят записи (проводки), основанные на определенном плане счетов, например, регистр бухгалтерии "Управленческий" связан с планом счетов "Управленческий" (основан на нем). Регистр бухгалтерии всегда связан только с одним планом счетов, но один план счетов может использоваться в различных регистрах бухгалтерии.
Новым в версии 8 является также то, что бывают регистры бухгалтерии "без поддержки корреспонденции", что отражается на его структуре. Для таких регистров каждая запись (проводка) имеет только одну сторону - дебет или кредит.
В отличие от версии 7.7 измерения и ресурсы регистра бухгалтерии задаются разработчиком самостоятельно. Измерения - это своего рода разделители учета, например, Организация, Подразделение, Валюта. Ресурсы регистра бухгалтерии - это числовые данные, по которым требуется получать остатки и обороты, например, Сумма, Количество, ВалСумма. В регистре бухгалтерии могут быть также и реквизиты, которые содержат дополнительную информацию для каждой записи (проводки), они могут быть практически любого типа, например, строковый реквизит "СодержаниеПроводки".
Содержат виды расчета, имеющие между собой нечто общее, как то: одинаковые базовые виды расчеты, одинаковые правила перерасчета, общие правила вытеснения по периоду. Например, планы "Основные начисления", "Налоги". Затем на основе планов создаются регистры расчета, содержащие непосредственно записи расчетов.
В отличие от версии 7.7, в версии 8 виды расчета хранятся в планах видов расчета как объекты данных, т.е. могут даже вводиться в режиме "Предприятие". Конечно, в версии 8 можно ввести предопределенные виды расчета, на которых будет построена конфигурация, и задать для них правила вытеснения, ведущие и базовые виды расчета.
Предназначены для хранения записей сложных периодических расчетов, например, регистр расчета "Начисления". Регистр расчета всегда основан на определенном плане видов расчета.
Измерения, ресурсы и реквизиты регистра расчета разработчик указывает самостоятельно. Например, в регистре расчета могут быть измерения Физлицо, Подразделение, Организация, ресурс Результат, и реквизиты - комментарий, график и т.д.
Объекты конфигурации, располагающиеся в ветви "Общие":
Предназначены для группировки других объектов конфигурации, например, Кадры, Торговля, Маркетинг. Каждый объект может входить сразу в несколько подсистем. Подсистемы могут быть вложенными друг в друга. Затем на основе подсистем легко назначать роли (права доступа) и формировать интерфейсы.
Содержат процедуры и функции, используемые в других программных модулях, например, общий модуль "Процедуры обработки документов". В общих модулях не может быть объявлений переменных модуля и нет раздела основной программы, там есть только раздел процедур и функций. Экспортируемые переменные, процедуры и функции модуля приложения не доступны в общих модулях. А экспортируемые процедуры и функции общих модулей доступны в модуле приложения, других общих модулях и остальных программных модулях.
Предназначены для определения прав пользователей конфигурации, например, роли "Кадровик", "Администратор". Особенностью версии 8 по сравнению с версией 7.7 является то, что каждый пользователь может иметь несколько ролей.
Критерии отбора нужны для отбора данных по определенному признаку. Например, по критерию отбора "Контрагент" можно выбрать все документы, относящиеся к заданному контрагенту. Критерии отбора применяются для отбора элементов справочников, документов и других объектов.
Представляют собой совокупность панелей интерфейса: меню и панели инструментов, например, интерфейс "Бухгалтер", "Руководитель". В версии 8 интерфейсы могут переключаться "на лету", без перезапуска программы.
Общие экранные формы не принадлежат конкретному объекту конфигурации, а относятся к конфигурации в целом. Они могут использоваться в разных местах программы, например, форма "Ввод адреса контрагента".
Общие макеты (шаблоны печатных форм) не принадлежат конкретному объекту конфигурации, например, макет "Реестр документов". Они используются из разных программных модулей.
Картинки, используемые на кнопках, формах и других интерфейсных объектах. Например, картинка "Выполнить". Картинки некоторых форматов можно изменять с помощью редактора картинок.
Стили оформления, включающие в себя различные элементы стиля: цвет отрицательных чисел, цвет фона редактирования полей и т.д. Стили позволяют гибко настроить форматирование некоторых частей конфигурации, например, выделить регламентные документы, важные обработки и т.д. В качестве примера можно назвать стили"Основной", "Яркий", "Регламентные процедуры".
Языки конфигурации, например, Русский и Английский. Можно разрабатывать конфигурации, рассчитанные на работу пользователей, говорящих на разных языках. Каждый язык имеет код языка, например, у русского языка код "ru" и т.д.