1С:Предприятие является универсальной системой автоматизации деятельности предприятия. За счет своей универсальности система 1С:Предприятие может быть использована для автоматизации самых разных участков экономической деятельности предприятия: учета товарных и материальных средств, взаиморасчетов с контрагентами, расчета заработной платы, расчета амортизации основных средств, бухгалтерского учета по любым разделам и т. д.
Основной особенностью системы 1С:Предприятия является ее конфигурируемость. Собственно система 1С:Предприятие представляет собой совокупность механизмов, предназначенных для манипулирования различными типами объектов предметной области. Конкретный набор объектов, структуры информационных массивов, алгоритмы обработки информации определяет конкретная конфигурация. Вместе с конфигурацией система 1С:Предприятие выступает в качестве уже готового к использованию программного продукта, ориентированного на определенные типы предприятий и классы решаемых задач.
Конфигурация создается штатными средствами системы. Конфигурация обычно поставляется фирмой «1С» в качестве типовой для конкретной области применения, но может быть изменена, дополнена пользователем системы, а также разработана заново.
Система 1С:Предприятие имеет компонентную структуру. Часть возможностей, предоставляемых системой для решения задач автоматизации, являются базовыми, то есть поддерживаются в любом варианте поставки системы. Это, прежде всего, механизмы поддержки справочников и документов. Другие возможности реализуются компонентами системы: например, ведение списка бухгалтерских счетов. Таким образом, состав установленный компонент определяет функциональные возможности системы.
Всего существуют три основных компоненты: «Бухгалтерский учет», «Оперативный учет», «Расчет». Каждая компонента расширяет возможности системы своим механизмом обработки информации. Эти механизмы нельзя однозначно сопоставить с конкретными задачами автоматизации предметной области, однако, они имеют достаточно четкую направленность, которая определяет выбор состава необходимых компонент, для создания конкретной конфигурации.
Компонента «Бухгалтерский учет» реализует отражение хозяйственных операций, происходящих на предприятии в бухгалтерском учете. Она манипулирует такими понятиями, как бухгалтерские счета, операции и проводки. Возможности компоненты «Бухгалтерский учет» позволяют вести учет параллельно в нескольких планах счетов, вести многомерный и многоуровневый аналитический учет, количественный и валютный учет.
Компонента «Бухгалтерский учет» предоставляет возможность ведения бухгалтерского учета для нескольких предприятий в одной информационной базе.
Компонента «Оперативный учет» предназначена для автоматизации оперативного учета наличия и движения средств. Возможности компоненты «Оперативный учет» позволяют регистрировать движения и получать информацию о движениях и остатках товарных, материальных, денежных и других средств предприятия в реальном времени в самых различных разрезах. Компонента «Оперативный учет» поддерживает механизм регистров, который и обеспечивает запись движений и получение остатков в различных разрезах. Использование этого механизма позволяет автоматизировать учет взаиморасчетов с клиентами, учет складских запасов товаров, и многое другое. Одна из главных областей применения данной компоненты — автоматизация учета складских и торговых операций.
Компонента «Расчет» предназначена для автоматизации сложных периодических расчетов. Возможности этой компоненты позволяют выполнять расчеты различной сложности, в том числе — с пересчетом результатов «задним числом», и вести архив расчетов за прошедшие периоды. Эти возможности реализуются журналами расчетов, поддерживаемыми данной компонентой. Одна из основных областей применения компоненты — расчет заработной платы.
Функционирование системы делится на два процесса — конфигурирование (описание модели предметной области средствами системы) и исполнение (обработку данных предметной области).
Результатом конфигурирования является конфигурация, которая представляет собой модель предметной области.
На этапе конфигурирования система оперирует такими универсальными понятиями (объектами), как «Документ», «Журнал документов», «Справочник», «Реквизит», «Регистр» и другие. Совокупность этих понятий и определяет концепцию системы.
На уровне системы определены сами понятия и стандартные операции но их обработке. Средства конфигурирования позволяют описать структуры информации, входящей в эти объекты, и алгоритмы, описывающие специфику их обработки, для отражения различных особенностей учета.
При конфигурировании максимально используются визуальные средства настройки, а для описания специфических алгоритмов используются языковые (программные) средства.
В процессе конфигурирования формируется структура информационной базы, алгоритмы обработки, формы диалогов и выходных документов. Информационная структура проектируется на уровне предусмотренных в системе типов обрабатываемых объектов предметной области (константы, справочники, документы, регистры, перечисления, журналы расчетов, бухгалтерские счета, операции, проводки и др.).
В процессе исполнения система уже оперирует конкретными понятиями, описанными на этапе конфигурирования (справочниками товаров и организаций, счетами, накладными и т. д.).
При работе пользователя в режиме исполнения конфигурации обработка информации выполняется как штатными средствами системы, так и с использованием алгоритмов, созданных на этапе конфигурирования.
В этом параграфе перечислены основные типы объектов, поддерживаемых системой 1С:Предприятие. Как уже отмечалась, ряд объектов системы входит в набор базовых средств, которые доступны при любом наборе компонент. Кроме того, каждая компонента привносит в систему возможность работы со своими объектами, которые реализуют свойственные ей механизмы.
Для работы с постоянной и условно постоянной информацией в системе используются объекты типа «Константа». Наиболее часто используют такие константы, как «Наименование предприятия», «Ставка НДС», «ФИО главного бухгалтера» и др.
В системе может быть описано неограниченное количество констант. На этапе конфигурирования задается список констант и описываются их характеристики. Константы могут иметь признак периодичности для отслеживания истории изменения значения константы.
Для работы с постоянной и условно постоянной информацией с некоторым множеством значений в системе используются объекты типа «Справочник».
Обычно справочниками являются списки материалов, товаров, организаций, валют, сотрудников и др.
Механизм поддержки справочников позволяет спроектировать и поддерживать самые различные справочники. На этапе конфигурирования можно описать, какими свойствами обладает каждый конкретный справочник. К настраиваемым свойствам относятся, например, длина и тип кода, количество уровней, поддержка уникальности кодов, набор реквизитов справочника.
Помимо кода и наименования, механизм работы со справочниками позволяет создавать набор реквизитов для хранения любой дополнительной информации об элементе справочника. Для реквизитов справочника возможно указание типа «Периодический» для отслеживания истории изменения значений реквизитов.
Для каждого справочника может быть задано несколько форм просмотра и редактирования.
Для описания соподчиненных сущностей можно использовать не многоуровневость справочника, а подчиненность справочников. В этом случае в подчиненном справочнике каждый объект относится к определенному объекту справочника-хозяина.
В конкретной конфигурации создается необходимое количество справочников, для хранения данных об объектах, используемых при автоматизации данной предметной области. Например, это могут быть справочники «Организации», «Товары», «Сотрудники» и т. д.
Перечисления используются в системе 1С:Предприятие для описания постоянных наборов значений, не изменяемых для конкретной конфигурации.
На этапе конфигурирования можно описать практически неограниченное количество видов перечислений. В отличие от справочника, значения перечислений задаются на этапе конфигурирования, и не могут быть изменены на этапе исполнения.
Типичными примерами перечислений являются виды оплаты (наличная, безналичная, бартер), статус клиента (постоянный, разовый).
Одним из главных особенностей перечислений является то, что конфигурация сама использует существующие значения перечислений. Например, алгоритм конфигурации может быть ориентирован на то, что каждый клиент имеет один из двух статусов — либо «постоянный», либо «разовый», в этом случае указание статуса клиента выполняется путем выбора одного из значений перечисления. Для справочников конфигурация обычно не использует конкретных значений (например, наименования товаров или организаций).
Документы предназначены для хранения основной информации о всех событиях, происходящих на предприятии, и, разумеется, имеющих смысл с точки зрения экономики. При помощи документов отражаются и платежи с расчетного счета, и операции но кассе, и кадровые перемещения, и движения по складу, и прочие подобные события.
В процессе конфигурирования настраивается произвольное количество видов документов. Типичными примерами видов документов являются такие документы, как «Платежное поручение», «Счет», «Приходная накладная», «Расходная накладная», «Накладная на внутреннее перемещение», «Приходный кассовый ордер» и так далее. Каждый вид документа предназначен для отражения своего типа событий. Это определяет его структуру и свойства, которые описываются в конфигурации.
Каждый вид документа может иметь неограниченное количество реквизитов в шапке и в многострочной части. Для документа создается форма ввода — экранный диалог. При настройке для документа задаются также общие характеристики: длина номера документа, условия поддержки уникальности номеров и другие. Все документы характеризуются номером, датой и временем.
Система автоматически поддерживает журналы перекрестных ссылок но документам.
Документы играют центральную роль для основных механизмов, реализуемых компонентами системы. Все документы (вне зависимости от вида) образуют единую последовательность. Фактически, эта последовательность отражает последовательность событий — так, как они происходили реально. Внутри даты последовательность документов определяется их временем, при этом время документа является не столько средством отражения реального (астрономического) времени ввода документа, сколько средством, позволяющим четко упорядочить документы внутри одной даты. Данные, вводимые в документ (реквизиты документа), обычно содержат информацию о происшедшем событии: например, в накладной — информацию о том, с какого склада, каких товаров и сколько отгружено; в приказе о приеме на работу — информацию о сотруднике, оклад, другие сведения. Кроме собственно записи, для документа весьма важным свойством является его проведение. При проведении документ может отразить зафиксированное им событие в механизмах, реализуемых компонентами. Например, если установлена компонента «Бухгалтерский учет», документ может записать бухгалтерскую операцию, отразив в виде проводок в бухгалтерском учете информацию, содержащуюся в документе.
Журналы документов предназначены для просмотра документов. Каждый вид документа может быть отнесен к определенному журналу. Сам журнал документов не добавляет новых данных в систему, а служит только как средство просмотра списка документов одного или нескольких видов.
Например, может быть создан журнал «Складские документы», который будет содержать все приходные накладные и накладные на внутреннее перемещение.
Для журнала могут быть определены графы журнала, для удобства просмотра реквизитов различных видов документов, отнесенных к данному журналу.
Для журнала может быть описано несколько форм его визуального представления.
Для описания отчетов и процедур произвольной обработки на этапе конфигурирования может быть создано неограниченное количество форм отчетов. Каждая форма имеет свой диалог настройки, который позволяет определить набор параметров формирования отчетов. Например, для выдачи складской справки — выбрать конкретный склад.
Алгоритм получения отчета описывается с использованием встроенного языка, при этом может быть задействован встроенный язык запросов. Для вывода отчетов может быть использован как текстовый формат, так и специализированный табличный формат отчетов.
Система также поддерживает возможность разработки внешних отчетов (обработок), хранящихся не в самой конфигурации, а в отдельных файлах.
Бухгалтерские счета (далее «Счета») предназначены для хранения планов счетов бухгалтерского учета, то есть объектов синтетического учета средств предприятия. Суть данных объектов вполне соответствует общепринятому пониманию бухгалтерских счетов. В компоненте «Бухгалтерский учет» свойства бухгалтерских счетов могут гибко настраиваться в зависимости от принятой системы учета в конкретной стране и на конкретном типе предприятий.
Прежде всего, может поддерживаться одновременно несколько планов счетов, каждый из которых может иметь специфические свойства. Для плана счетов задается длина кода счета и количество уровней субсчетов, а также количество знаков в субсчете каждого уровня. Для счетов настраиваются дополнительные реквизиты, а также формы просмотра списка и редактирования счетов.
Бухгалтерские счета являются основой системы бухгалтерских итогов компоненты «Бухгалтерский учет». При их настройке задаются свойства дополнительных разрезов учета - валютного, аналитического и количественного.
Компонента «Бухгалтерский учет» поддерживает многомерный и многоуровневый аналитический учет.
Кроме того, настраивается возможность использования разделителя учета. Разделитель учета позволяет вести учет независимо по нескольким организациям в одной информационной базе.
Важной особенностью бухгалтерских счетов является возможность создания объектов как в конфигурации, так и в самой информационной базе. Введение конкретных счетов в конфигурацию целесообразно в том случае, если поведение самой конфигурации требует обязательного наличия самих счетов или конкретных свойств этих счетов.
Виды субконто являются специальными объектами, поддерживаемыми компонентой «Бухгалтерский учет», для ведения аналитического учета по счетам бухгалтерского учета. Термин субконто используется для обозначения набора значений, используемых для ведения аналитического учета по счету. В качестве субконто могут выступать основные средства, организации, товары и другие наборы объектов, как реально существующих, так и абстрактных. Например, субконто могут быть виды бюджетов — федеральный, территориальный, местный.
Вид субконто идентифицирует совокупность объектов конкретного типа, которые в дальнейшем могут использоваться для ведения аналитического учета. Сам по себе вид субконто не описывает каких либо хранимых данных в системе 1С:Предприятие. При его настройке указывается один из существующих типов данных, который будет определять набор значений субконто этого вида - обычно это справочник или перечисление. Например, вид субконто «Товары» будет иметь тип «Справочник.Номенклатура».
Созданные виды субконто указываются для настройки аналитического учета по счетам. Для каждого счета допускается использование до 5 видов субконто, что позволяет вести многомерный аналитический учет. Ведение многоуровневого аналитического учета реализуется путем использования многоуровневых справочников.
Отражение движений средств в бухгалтерском учете записывается в виде операций и проводок. Операция является полным отражением в бухгалтерском учете хозяйственной операции, происшедшей на предприятии.
Операция может содержать несколько проводок. Проводки не существуют отдельно от операций. Каждая проводка принадлежит одной и только одной операции. Операция, в свою очередь, всегда принадлежит документу, причем у документа может быть только одна операция. Сама операция может записываться при записи документа или в момент проведения, но проводки по документу формируются только при его проведении. Кроме того, для обеспечения ручного ввода операций существует специальный вид документа «Операция», который не имеет собственных данных, а используется только в качестве «носителя» операции, введенной вручную. Порядок отражения проводок в бухгалтерском учете определяется последовательностью документов, которым принадлежат операции.
В конфигурации описываются различные свойства операций и проводок. И для операции, и для проводок могут быть заданы дополнительные реквизиты. Настраиваются формы просмотра журнала операций, журнала проводок, форма ввода самой операции.
Для анализа остатков и движений средств в системе 1С:Предприятие используются регистры.
Регистр представляет собой многомерную систему хранения остатков или оборотов. Каждый регистр на этапе конфигурации описывается набором измерений и ресурсов.
Под измерением понимается набор значений, которые детализируют движения средств, и в разрезе которых хранятся остатки; под ресурсом — числовая величина, которая является количественным или суммовым значением, отражающим размер движения (остатка). Например, для складского запаса товаров может быть создан регистр «Товарный запас» с двумя измерениями — «Товар» и «Склад» и одним ресурсом — «Количество». В этом случае система будет поддерживать остатки товаров в разрезе складов в количественном выражении.
Изменение остатков и оборотов по регистрам производится движениями регистров. Движения регистров записываются документами в момент проведения и имеют четко определенное место на оси времени, определяемое датой и временем документа. Каждый документ может порождать неограниченное количество движений по регистрам любых видов. Движения, записанные документом, принадлежат ему и будут автоматически удаляться или изменяться при удалении или перепроведении документа.
Для работы в реальном времени система поддерживает точку актуальности итогов. Она может быть установлена принудительно, но ее могут изменять проводимые в потоке документы.
Проводимые в потоке документы получают мгновенный доступ к актуальным итогам по всем регистрам, например, для контроля складских остатков. Хотя, разумеется, существует возможность проведения документа задним числом, с одной стороны, и получения итогов на любой момент — с другой.
Итоги по регистрам могут быть построены с любым набором разрезов исходя из измерений регистра. Так, в приведенном примере можно построить отчет о движении по товарам в разрезе складов или по складам в разрезе товаров.
Журнал расчетов предназначен для хранения данных сложных периодических расчетов, поддерживаемых компонентой «Расчет», и их предыстории. Основным свойством журнала расчетов является его принадлежность тому или иному справочнику системы. Такой справочник называется справочником объектов расчета. Фактически, справочник определяет вид объектов, по которым ведется расчет. Например, это может быть: журнал расчетов зарплаты, причем списком объектов расчета будет выступать справочник сотрудников; журнал расчетов дивидендов, тогда списком объектов расчета будет выступать справочник акционеров; журнал расчетов амортизации — списком объектов расчета будет выступать справочник основных средств. В процессе конфигурирования настраивается неограниченное число журналов расчета, каждый из которых будет решать ту или иную задачу предметной области.
Непременными атрибутами каждой строки журнала расчетов являются: объект, для которого данный расчет проведен; вид расчета (см. ниже), по которому данный расчет проведен; дата начала и дата окончания действия данного расчета и результат расчета.
Для одного справочника могут быть созданы несколько журналов расчетов, каждый из которых будет содержать данные определенной предметной области. Например, в том случае, если предприятие — акционерное общество закрытого типа, справочник сотрудников может выступать списком объектов расчета для журнала расчетов заработной платы и для журнала расчетов дивидендов акционеров.
Для описания алгоритмов, по которым выполняются те или иные вычисления, служит понятие виды расчетов. На этапе конфигурирования можно описать неограниченное количество видов расчетов. В отличие от справочников, журналов расчета и документов, за понятием «вид расчета» не лежит реальных данных — это не более чем алгоритм вычисления, оперирующий данными журналов расчета, документов и справочников.
Алгоритм вида расчета описывается с помощью встроенного языка. Типичными примерами видов расчетов являются «начисление по окладу», «подоходный налог», «амортизация».
Для того чтобы при тех или иных расчетах можно было оперировать не только результатами расчетов по конкретным видам, но и результатами по нескольким видам расчетов, объединенных по определенному принципу, служит понятие групп расчетов. В системе может быть определено неограниченное число групп расчетов, примерами которых могут служить: «начисления, облагаемые налогом», «входящие в расчет средней зарплаты», «облагаемые исполнительным листом» и другие.
Для ведения рабочего графика предприятия или сторонних организаций, для учета рабочего времени сотрудников разных категорий в системе 1 (^Предприятие служат календари. При конфигурировании можно определить неограниченное число календарей, описав правила их заполнения. Примерами календарей могут служить: календарь рабочего графика предприятия (где отмечены выходные и рабочие дни); календарь работы банка, через который осуществляются взаиморасчеты; календарь работы служащих; календарь, в котором проставлена продолжительность рабочих дней для рабочих.
Заметим, что объект «Календарь» компоненты «Расчет» не следует путать с календарем, вызываемым в системе 1С:Предприятия из меню «Сервис» и при редактировании полей типа «дата». Это календарь является аналогом «карманного» календаря и служит для быстрого поиска и выбора нужной даты. В свою очередь, календарь компоненты «Расчет» является специальным объектом для хранения данных о структуре периода расчетов.
Многие значения, обрабатываемые системой (константы, реквизиты справочников, реквизиты документов, измерения регистров, реквизиты форм отчетов, реквизиты журналов расчетов, бухгалтерских счетов, операций, проводок и другие), описываются одним из доступных типов данных.
К базовым типам данных, поддерживаемых системой, относятся «число», «строка» и «дата». Однако, кроме базовых типов, заданные в конфигурации документы, справочники, перечисления, бухгалтерские счета, виды расчетов, календари также образуют тины данных. Например, после введения справочника «Склады» в системе появляется тип данных «Склады», что дает возможность ввести в документ реквизит такого типа. Значение такого реквизита будет являться не номером склада, а собственно ссылкой на определенный элемент справочника «Склады».
Кроме того, все справочники образуют общий тин данных — справочник неопределенного вида. Все документы также образуют тип данных — документ неопределенного вида. Все планы счетов образуют тип данных «счет неопределенного вида».
Для описания специфических алгоритмов обработки информации и создания интерфейса, ориентированного на удобное представление описанных в конфигурации данных, в системе 1С:Предприятие используется несколько технологических механизмов.
Встроенный программный язык. Необходимость наличия встроенного языка определена концепцией настраиваемости системы.
Синтаксис встроенного языка вполне отвечает стандартам высокоуровневых языков.
Язык является предметно-ориентированным. Он поддерживает специализированные типы данных предметной области, определяемые конфигурацией системы. Работа с этими типами данных в языке организована с использованием объектной техники. Язык ориентирован на пользователей различной квалификации. В частности, его отличает мягкая типизация данных (обеспечивающая быстрое написание программных модулей) и жесткий контроль синтаксических конструкций, уменьшающий вероятность ошибок.
Так как система сочетает в себе визуальные и языковые средства конфигурирования, использование встроенного языка в системе имеет событийно-зависимую ориентацию, то есть языковые модули используются в конкретных местах для отработки отдельных алгоритмов, настраиваемых в процессе конфигурации. Так, например, для документа можно описать алгоритм автоматического заполнения реквизитов при вводе нового документа. Данная процедура будет вызвана системой в нужный момент.
Механизм запросов. Для получения произвольных отчетов сложной структуры в системе предусмотрен предметно-ориентированный механизм запросов. Данное средство опирается на существующую условно-переменную структуру информационной базы системы, что позволяет сравнительно просто описывать достаточно сложные запросы.
Встроенный текстовый редактор используется системой для создания программных модулей на встроенном языке и для редактирования документов в текстовом виде.
Одной из особенностей редактора является возможность контекстного выделения цветом синтаксических конструкций встроенного языка.
Благодаря тому, что встроенный язык системы имеет мощные средства манипулирования текстами, текстовый формат может быть успешно использован для обмена с другими системами самой различной информацией.
Встроенный редактор диалогов. Работа с настраиваемыми структурами данных и работа в интерфейсе операционной системы MS Windows вызывает необходимость произвольной настройки форм ввода и редактирования информации. Для этого в системе 1С:Предприятие существует встроенный редактор экранных диалогов.
Редактор позволяет оформить большинство окон, которые используются в системе для ввода и просмотра предметной информации (формы документов, справочников, настройки отчетов).
Встроенный редактор табличных документов. Для всех выходных документов (первичных документов и отчетов) в системе предусмотрен единый формат — формат табличных документов. Это мощное средство, сочетающее в себе оформительские возможности табличной структуры и векторной графики. Таким образом, он может быть использован как для создания небольших документов с очень сложной структурой линий (типа платежного поручения), так и для объемных ведомостей, журналов и других подобных документов.
Редактор табличных документов предоставляет пользователям богатый набор оформительских возможностей (шрифты, цвета, линии, узоры). Имеется возможность вывода информации в графическом виде (диаграммы).
Одной из главных особенностей табличного редактора является ориентация на формирование отчетов при помощи встроенного языка системы 1С:Предприятие. Гибкое построение отчетов с его помощью становится возможным благодаря наличию механизма манипулирования секциями (областями документа). Редактор таблиц позволяет манипулировать не только горизонтальными, но и вертикальными секциями, что делает возможным создание отчетов, масштабируемых не только в высоту, но и в ширину.
С другой стороны, реализована и возможность создания отчета в виде интерактивной таблицы, являющейся одновременно инструментом ввода данных, их обработки и отображения результатов.
Конструкторы. Конструкторы — вспомогательные инструменты, облегчающие разработку стандартных элементов системы 1С:Предприятие. В системе имеются конструкторы справочника, документа, журнала документов, отчета и вида субконто. Еще пять конструкторов облегчают разработку программных модулей в стандартных случаях.
Система настройки пользовательских интерфейсов. Для того чтобы интерфейс конкретной конфигурации системы полностью отражал настроенные структуры данных и алгоритмы, в системе , помимо редактора диалоговых форм и табличных документов, предусмотрена возможность настройки общих интерфейсных компонент системы: меню, панелей инструментов, комбинаций клавиш.
На этапе конфигурирования может быть создано несколько пользовательских интерфейсов для разных категорий пользователей (руководителей, менеджеров, кладовщиков и других).
Система настройки прав пользователей и авторизации доступа. Данная система позволяет описывать наборы прав, соответствующие должностям пользователей. Структура прав определяется конкретной конфигурацией системы. Например, могут быть введены такие наборы прав, как «Главный бухгалтер», «Кладовщик», «Менеджер», «Начальник отдела».
Сам список пользователей создается уже для конкретной организации. Каждому пользователю назначается роль, включающая набор прав и пользовательский интерфейс.
Отладчик. Для удобства разработки конфигурации в системе предусмотрен отладчик. Отладчик позволяет прослеживать исполнение программных модулей конфигурации, замерять сравнительное время исполнения, просматривать содержимое переменных.
Администрирование работы пользователей. Для отслеживания текущего состояния работы системы используется монитор пользователей. Он позволяет просмотреть, кто из пользователей в настоящий момент работает с конкретной информационной базой, и в каком режиме.
Журнал регистрации изменений ведется системой автоматически. В нем отражаются все факты изменений данных пользователями.