Объявление внутренней переменной 1 страница
Корпоративные информационные системы
Основы программирования в системе 1С: Предприятие 7.7
Учебное пособие
Научный редактор – доц., канд. техн. наук И. Н. Обабков
Печатается по решению редакционно-издательского совета
УГТУ–УПИ от 28. 02. 2008 г.
Екатеринбург
УГТУ–УПИ
УДК 004.732: 004.4’21С
ББК 32.973.202 - 018.2 я 73
П 30
Рецензенты:
кафедра информационных систем в экономике Уральского государственного экономического университета (зав. кафедрой, проф., д-р физ.-мат. наук
А. Ф. Шориков);
ст. науч. сотр., канд. физ.-мат. наук Д. Г. Ермаков (Институт математики и механики УрО РАН).
Петрова В. А.
П30 Корпоративные информационные системы. Основы программирования в системе 1С: Предприятие 7.7: учебное пособие / В. А. Петрова. Екатеринбург : УГТУ–УПИ, 2009. 80 с.
Содержит основные сведения о корпоративных информационных системах. Рассмотрена структура и основные объекты метаданных компоненты “Оперативный учет” информационной системы 1С: Предприятие 7.7. Дано краткое описание встроенного языка 1С: Предприятие 7.7. Приводятся примеры создания модулей в информационной системе 1С: Предприятие. Пособие содержит варианты заданий для самостоятельной работы. Предназначено для студентов второго курса специальности 080801 “Прикладная информатика в экономике” факультета ИМТЭМ дневной формы обучения. Составлено в соответствии с программой курса “Информационные системы” и может быть использовано для самостоятельного изучения соответствующего раздела учебного курса.
Библиогр.: 6 назв. Рис. 77. Табл. 19.
УДК 004.732: 004.4’21С
ББК 32.973.202 - 018.2 я 73
© УГТУ – УПИ, 2009
© Петрова В. А., 2009
Введение
Корпоративная информационная система (КИС) – это управленческая идеология, объединяющая бизнес-стратегию предприятия и передовые информационные технологии. Основную роль при этом играет автоматизация управления предприятием как единым целым.
Современное предприятие организационно состоит из множества подразделений, управленческая деятельность которых также должна быть автоматизирована. Выделяют три вида связей между подразделениями.
1. Функциональные связи – подразделения связаны функционально, так как каждое подразделение выполняет определенные виды работ в рамках единого бизнес-процесса.
2. Информационные связи – подразделения обмениваются информацией (документами, факсами, письменными и устными распоряжениями).
3. Внешние связи – взаимодействие с внешними системами, которое может быть как функциональным, так и информационным.
Перечисленные типы связей присутствуют в каждом предприятии и учитываются при проектировании КИС.
В составе корпоративных информационных систем можно выделить две составляющие: компьютернуюинфраструктуру предприятия и взаимосвязанные функциональные подсистемы.
Компьютерная инфраструктура предприятия представляет собой совокупность сетевой, телекоммуникационной, программной, информационной и организационной инфраструктур. Данная составляющая обычно называется корпоративной сетью и отражает системно-техническую, структурную сторону любой информационной системы, являясь основой для интеграции функциональных подсистем.
Взаимосвязанные функциональные подсистемы (программные продукты) обеспечивают решение задач предприятия и достижение его целей. Набор функциональных подсистем предприятия зависит от специфики задач и целей предприятия, хотя такие подсистемы, как бухгалтерский учет, управление кадрами, управление финансами, маркетинг, входят в любую современную КИС.
КИС 1С: Предприятие 7.7
1С: Предприятие – это интегрированная корпоративная информационная система, основанная на объектно-ориентированной системе управления базами данных (СУБД) и предназначенная для автоматизации деятельности предприятия.
1С: Предприятие 7.7 является гибкой настраиваемой системой для решения широкого круга задач. Система позволяет автоматизировать следующие задачи:
ü кадровый учет;
ü расчет заработной платы;
ü бухгалтерский учет;
ü складской учет и др.
Компонентная структура
Основные компоненты программы 1С: Предприятие 7.7.
1. Бухгалтерский учет – позволяет вести бухгалтерский учет средств предприятия (аналитический, валютный, количественный).
2. Оперативный учет – это автоматизация учета наличия и движения средств предприятия (товарных, материальных, денежных и т. д.).
3. Расчет – это автоматизация сложных периодических расчетов (например, расчет заработной платы).
В любом из вышеперечисленных компонентов можно создавать различные задачи, каждая из которых может иметь свою конфигурацию.
Понятие конфигурации системы
Конфигурация – это совокупность трех взаимосвязанных составных частей:
ü структуры метаданных;
ü набора пользовательских интерфейсов;
ü набора прав пользователя.
Создание конфигурации выполняется в режиме Конфигуратор системы 1С: Предприятие 7.7.
Структура метаданных – это модель предметной области, представленная в виде совокупности создаваемых объектов.
Объекты метаданных компоненты “Оперативный учет”
Метаданные (данные о данных) – это совокупность объектов, настроенных на хранение и обработку данных о хозяйственной деятельности предприятия.
Объекты создаются в режиме Конфигуратор в окне Конфигурация на вкладкеМетаданные (рис. 1).
Рис. 1. Список объектов метаданных в окне Конфигурация
Структура метаданных представляет собой дерево папок, каждая папка содержит объекты одного типа. Рассмотрим типы объектов компоненты Оперативный учет.
Константы – это постоянные величины, хранящие информацию, которая не изменяется или изменяется достаточно редко: название предприятия, почтовый адрес предприятия, процент наценки товара и т. д.
Справочники – списки различных элементов данных, которые используются для хранения нормативно-справочной информации и являются основой реляционной базы данных любой задачи.
Документы – объекты, которые служат для ввода информации о совершенных хозяйственных операциях в справочники или регистры, т. е. позволяют обновлять базу данных.
Журналы документов – списки объектов (данных типа Документ), служат для работы с документами.
Отчеты – средство для получения выходной информации, используются для анализа данных.
Перечисления – списки постоянных наборов, значений, используемых в справочниках.
Регистры – механизмы накопления оперативной информации о наличии и движении средств (денег, товаров и т. д.), являются частью базы данных.
Типы данных
Система поддерживает базовые типы данных, такие как:
ü число;
ü строка;
ü дата.
Кроме базовых типов данных используются агрегатные типы:
ü справочники;
ü документы;
ü перечисления.
Перечисленные объекты называются типообразующими. На рис. 2 представлено окно для задания свойств документа. Реквизиты Контрагент и Договор имеют тип значения – справочник. Тип значения задается в окне свойств реквизита (рис. 3).
Использование агрегатных типов позволяет, например, при заполнении документа не вводить, а выбирать значение реквизита документа из списка значений реквизита справочника. Причем, для выбора будет предоставляться либо код справочника, либо наименование в зависимости от того, какое основное представление было выбрано при создании справочника.
Рис. 2. Пример создания документа в окне “Конфигурация”
Рис. 3. Для реквизита Контрагент выбран тип значения Справочник.Контрагенты
Свойства объектов и реквизитов
Каждый объект, созданный в системе обладает набором определенных свойств, которые используются в дальнейшей работе с объектом. При создании нового объекта задаются следующие свойства:
ü идентификатор – краткое наименование объекта метаданных (по умолчанию объект создается с именем Новый 1, Новый 2 и т. д.);
ü комментарий – расшифровка идентификатора, выводится в скобках вслед за идентификатором в окнах диалога;
ü синоним – если существует, то выводится вместо идентификатора во всех документах.
Объекты типа Справочник и Документ состоят из наборов реквизитов (атрибутов). Каждый реквизит, так же как и сам объект, обладает определенным набором свойств, который необходимо определить при создании реквизита. При создании реквизитов нового объекта задаются свойства, описанные выше, а также следующие свойства:
ü тип значения – тип данных;
ü длина значения – количество символов данных или цифр;
ü точность – количество десятичных знаков (используется для числовых данных);
ü периодичность – значение реквизита привязывается к определенной дате.
Форма объекта метаданных
Визуальное представление объекта состоит из трех частей.
1. Экранный диалог – используется для ввода и редактирования информации, хранящейся в объекте метаданных (рис. 4).
Рис. 4. Экранный диалог (форма элемента справочника)
2. Печатная форма объекта – это представление объекта в виде таблицы. Печатная форма справочника состоит из полей и записей. Имя поля отображает наименование соответствующего реквизита (рис. 5). Запись называется элементом справочника.
Рис. 5. Печатная форма объекта
3. Модуль формы – программа на встроенном языке системы
1С: Предприятие, используется для построения печатной формы объекта метаданных (рис. 6).
Рис. 6. Модуль формы
Совокупность экранного диалога, печатной формы объекта и модуля формы называется формой объекта. Справочник, кроме экранного диалога (формы элемента), может иметь форму списка, отображающую все записи (элементы) справочника (рис. 7).
Рис. 7. Форма списка справочника
Пользовательский интерфейс
Пользовательский интерфейс – это совокупность команд главного меню и панелей инструментов, настроенных на работу с конкретными объектами данных (документами, справочниками и т.д.).
На вкладке Интерфейсы происходит создание и настройка интерфейсов пользователей.
Интерфейс состоит из двух частей:
ü меню;
ü инструментальные панели.
Любой интерфейс может иметь подчиненный интерфейс, который получается из родительского интерфейса перечислением доступных пунктов меню и кнопок.
Набор прав пользователя
Набор прав пользователя создается на вкладке Права в окне программы Конфигуратор. Задаются наборы прав доступа к информационным объектам, определенным на вкладке Метаданные.
Самый полный набор прав у администратора системы, который может вносить изменения в конфигурацию системы.
Справочники
Справочник – это агрегатный тип данных. Название и структура каждого конкретного справочника определяются при его создании в конфигураторе.
У любого справочника существуют два реквизита, которые создаются автоматически – Код и Наименование.
Справочники могут быть одноуровневыми или многоуровневыми (т.е. иметь иерархическую структуру). Например, справочник Номенклатура содержит три уровня (рис. 8). Число уровней иерархии определяется в поле
Кол-во уровней в окне редактирования свойств объекта.
Рис. 8. Уровни справочника Номенклатура
Кнопка Новый в окне редактирования свойств справочника (рис. 9) открывает диалог Свойства реквизита, в котором задается идентификатор и все остальные свойства нового реквизита (рис. 10 и 11).
Рис. 9. Окно для задания свойств справочника
Рис. 10. Окно для задания свойств реквизита справочника (вкладка Общие)
Реквизиты справочников могут быть периодическими, т. е. иметь значения, связанные с датой. При изменении значения периодического реквизита старое значение сохраняется, при этом новое значение начинает действовать с указанной даты, старое – до указанной даты.
Рис. 11. Окно для задания свойств реквизита справочника (вкладка Дополнительные)
Если один справочник подчинен другому (заполняется поле Подчинен окна редактирования), то каждый элемент подчиненного справочника будет соответствовать элементу справочника-владельца (рис. 12).
Рис. 12. Справочник Сотрудники подчинен справочнику Кафедры
Существует специальный реквизит Владелец, по которому можно найти элемент справочника-владельца.
Формы справочника
Для каждого справочника могут быть заданы несколько форм, предназначенных для ввода, просмотра и редактирования данных справочника.
Форма элемента используется для ввода нового элемента справочника.
Форма элемента содержит текстовые поля, поля ввода, кнопки, а также может содержать флажки, переключатели.
Кроме полей для ввода данных, форма может содержать элементы управления, такие как кнопка, флажок, переключатель, список, поле со списком, картинка.
Для визуального представления справочника существуют:
ü форма элемента;
ü форма группы – только для многоуровневого справочника (рис. 13);
ü форма списка.
Рис. 13. Форма группы справочника Сотрудники
Элементы управления справочников
Элемент управления (поле ввода, кнопка, флажок, переключатель и т. п.) можно поместить в форму с помощью соответствующего инструмента панели, расположенной в нижней части окна Конфигуратора (рис. 14).
Инструмент создает свободный элемент, который необходимо связать с конкретными данными или действиями.
Для связывания свободного элемента с конкретными данными или действиями необходимо:
ü открыть окно свойств элемента;
ü ввести имя процедуры в поле Формула;
ü ввести код процедуры в окно модуля формы.
Рис. 14. Панель инструментов, позволяющих помещать в форму элементы управления
Документы
В системе 1С: Предприятие 7.7документы используются для ввода, просмотра и корректировки информации о совершаемых хозяйственных операциях.
В режиме Конфигуратор создается не сам документ, а шаблон документа, т.е. описание документа одного вида.
У любого документа есть три обязательных реквизита Дата, Время, Номер.
Дата и время – наиболее важные характеристики документов, так как позволяют устанавливать строгую временную последовательность совершения операций. Внутри одной даты последовательность определяется временем документа.
Номер может задаваться автоматически, причем нумерацию можно ограничить временными рамками, например в пределах года.
Документ состоит из заголовочной части и табличной части. Реквизиты заголовочной части задаются в списке Реквизиты шапки (рис. 15). Реквизиты табличной части задаются в списке Реквизиты табличной части.
Документ может содержать один или несколько общих реквизитов, которые создаются заранее и могут использоваться в любом документе.
Для выполнения операции проведения документа и помещения данных в регистры необходимо установить флажок Оперативный учет.
Рис. 15. Окно редактирования свойств документа ВводНового
Форма документа
После ввода реквизитов документа необходимо создать экранную форму документа. Если табличная часть документа отсутствует, то форма документа состоит только из заголовочной части, в противном случае общие реквизиты размещаются в шапке документа, а остальные реквизиты – в табличной части (рис. 16).
Рис. 16. Форма документа, состоящая из заголовочной и табличной частей
Каждый реквизит документа, расположенный в заголовочной части документа (шапке), представлен двумя полями: полем ввода и текстовым полем. В режиме Конфигуратор поле ввода отображает название реквизита, а в режиме 1С: Предприятие – значение реквизита.
Определение свойств реквизитов документа
Все реквизиты, используемые в документе, имеют определенный набор свойств. Основные свойства реквизитов документа – это идентификатор и тип значения.
Если документ использует два реквизита с типом Справочник, причем справочники связаны между собой отношением один-ко-многим, то свойство Связан с позволяет получить список значений реквизита, связанного с конкретным значением справочника – владельца.
Например, в документе Приход денег (рис. 17) реквизит Контрагент имеет тип значения Справочник.Контрагенты, а реквизит Договор – тип значения Справочник. Договоры. Заполнив свойство Связан с реквизита Договор (рис. 18), можно при заполнении документа выбирать договор из списка договоров контрагента, имя которого будет присутствовать в поле Контрагент, т. е. автоматически будут отобраны договоры нужного контрагента.
Рис. 17. Форма документа, в котором используются реквизиты двух справочников
Рис. 18. Окно свойств реквизита Договор документа Приход денег
Модули документа
Документ содержит два программных модуля: модуль документа и модуль формы документа.
Модуль документа – это предопределенная процедура (создаваемая программистом), которая запускается при выполнении следующих действий:
ü при проведении документа;
ü отмены проведения документа;
ü при удалении проведенного документа.
Модуль формы документа запускается при каждом открытии формы документа и содержит:
ü вспомогательные процедуры и функции, вызываемые экранными кнопками;
ü предопределенную процедуру ПриОткрытии(), которая запускается при возникновении события – открытие формы документа.
Процедура ПриОткрытии() формируется автоматически и содержит метод ПриЗаписиПерепроводить(1), который означает, что если проведенный документ изменили, то при его сохранении программа попытается провести документ еще раз. Параметр метода, заключенный в скобках, может принимать одно из двух значений:
1 – режим обязательного перепроведения;
0 – режим необязательного перепроведения.
Журналы документов
Журнал создается для хранения списков документов одного вида или разных видов. При создании шаблона документа необходимо в поле Журнал выбрать имя журнала, которому будет принадлежать данный документ.
Количество журналов зависит от решения программиста, создающего конфигурацию задачи.
Содержание старых (ранее введенных) документов можно посмотреть, только открыв журнал и выбрав нужный документ. Список документов журнала выдается только за определенный период времени, поэтому перед просмотром журнала необходимо выполнить команду Интервал и задать временной интервал.
Создание журнала производится в конфигураторе. В диалоговой форме задаются графы – реквизиты документов, входящих в журнал.
Реквизиты табличной части можно добавить в журнал только в том случае, если в свойствах реквизита на вкладке Дополнительные установлен флажок Итог по колонке.
Проведение документов
Проведение документов – это внесение соответствующих изменений в механизмы хранения данных.
В каждом компоненте программы 1С: Предприятие 7.7есть свои механизмы хранения данных:
ü регистры – в компоненте Оперативный учет;
ü планы счетов – в компоненте Бухгалтерский учет;
ü журналы расчетов – в компоненте Расчет.
Можно также при проведении документа данные заносить в справочники.
Место занесения определяет программный код модуля документа.
Регистры
Регистр – это внутренний компонент создаваемой конфигурации, представляющий собой хранилище сводной информации. Регистры недоступны пользователю для непосредственного заполнения. Информация в регистры попадает только при проведении соответствующего документа. При разработке регистров в системе 1С: Предприятие 7.7была использована технология OLAP. Параметры регистров: измерения, ресурсы, реквизиты.
Измерения определяют, в каких разрезах может просматриваться информация.
Ресурсы – это то, что накапливается в регистрах.
Реквизиты позволяют включать в движение регистров дополнительную информацию.
В качестве примера рассмотрим регистр Количество сотрудников (рис. 19).
Регистр имеет два измерения (Факультет, Кафедра) и один ресурс (Количество). Регистр предназначен для хранения данных о количестве работающих сотрудников на каждой кафедре каждого факультета.
Рис. 19. Окно определения параметров создаваемого регистра
Изменение состояния регистров выполняется модулем документа (процедурой проведения документа).
Модуль содержит алгоритм формирования сведений об изменениях в регистрах, которые необходимо выполнить при проведении документа.
Эти сведения называются движениями регистра.
Регистры могут быть двух типов:
ü регистр остатков;
ü регистр оборотов.
Регистр остатков – хранит информацию о конечном состоянии объекта (сумме долга, количестве товара на складе и т. д.).
Например, регистр Количество сотрудников отражает изменение кадрового состава каждой кафедры каждого факультета.
Регистр оборотов показывает, как данное состояние объекта было достигнуто.
Например, можно создать регистр Обороты товаров, который будет отражать движение товара по складу (независимо от того, каким будет движение: приход товара от поставщика или уход товара к покупателю).
Регистр остатков можно сравнить с бегунком на линейке с делениями – бегунок может перемещаться как влево, так и вправо (рис. 20).
Рис. 20. Схематичное представление регистра остатков
Регистр оборотов можно сравнить со спидометром – счетчиком пройденного пути. Чем больше движений, тем больше число.
Движения регистров записываются в момент проведения документов и имеют четко определенное место на оси времени, определяемое датой и временем документа.
Движения, записанные документом, принадлежат этому документу. Движения будут автоматически удаляться или изменяться при удалении или перепроведении документа.
Точка актуальности итогов – это конкретная дата, на момент которой предоставляется информация о движениях регистров.
Итоги по регистрам могут быть построены с любым набором разрезов, исходя из измерений регистра. Например, можно построить отчет на основе данных регистра Взаиморасчеты – по каждому контрагенту и договору будут выведены суммы платежей.
Отчеты
Отчет – это выходной документ, в котором может быть представлена обобщенная и итоговая информация в различных разрезах.
При создании отчета в окне Конфигуратора создается форма отчета (диалог). Диалог позволяет задавать параметры формирования отчета. Форма отчета создается аналогично форме документа.
Создание отчета
При создании отчета необходимо:
ü создать форму отчета;
ü создать шаблон печатной формы отчета;
ü написать модуль (процедуру Сформировать).
Форма отчета может содержать несколько полей ввода, кнопки, флажки и прочие элементы управления. Количество полей ввода определяется количеством задаваемых параметров при формировании отчета. Например, для формирования отчета Количество сотрудников требуется задать (выбрать из списка) только конкретную кафедру (рис. 21).
Рис. 21. Форма отчета с одним полем ввода
Шаблон печатной формы отчета создается в том же окне, что и форма отчета, на вкладке Таблица. Шаблон печатной формы содержит имена переменных, значения которых будут выводиться на экран или принтер
(рис. 22).
Рис. 22. Шаблон печатной формы отчета Количество сотрудников
Отчет выводится после нажатия кнопки Сформировать. С кнопкой связана одноименная процедура, код которой помещается на вкладке Модуль (рис. 23).
Рис. 23. Процедура Сформировать, связанная с одноименной кнопкой в диалоге отчета
Запросы
Запросы позволяют получать информацию из справочников, регистров, документов. Полученные с помощью запроса данные (выборка) могут быть сгруппированы определенным образом, отсортированы и обработаны с помощью вычислительных функций.
Таблицы
Таблицы относятся к агрегатному типу данных и используются для создания печатных форм и для ввода табличных данных.
Форма может иметь одну таблицу для ввода и несколько таблиц для вывода. Исходный табличный документ может располагаться в той же форме, в тексте программного модуля которого создан агрегатный объект Таблица.
Исходная таблица может содержать текстовые фрагменты, рамки, рисунки и результаты работы модуля.
Элементы встроенного языка 1С: Предприятие
Понятие программного модуля (ПМ)
Программный модуль в системе 1С: Предприятие 7.7не является самостоятельной программой, а является частью конфигурации задачи.
ПМ – это контейнер для размещения текстов процедур и функций, вызываемых системой во время исполнения задачи.
Язык 1С обладает некоторыми объектно-ориентированными возможностями и использует определенные правила доступа к атрибутам и методам специализированных типов данных (документам, справочникам и т. п.).
В локальном модуле объявление переменных можно проводить как в явном, так и в неявном виде (использование произвольного имени переменной в левой части оператора присваивания).
Каждый отдельный программный модуль воспринимается системой как единое целое, т. е. все процедуры и функции модуля составляют единый контекст.
Различают два вида контекста: глобальный контекст задачи и локальный контекст выполнения конкретного модуля.
Глобальный контекст образуется:
ü системными процедурами и функциями;
ü значениями констант, перечислений, регистров и т. п., заданных в Конфигураторе;
ü переменными, процедурами и функциями, объявленными с ключевым словом Экспорт.
Глобальный контекст виден всем программным модулям и определяет общую языковую среду конфигурации. Локальный контекст модуля виден только конкретному модулю и определяет набор доступных этому модулю значений агрегатных типов данных, их атрибутов и методов.
Виды модулей
Глобальный модуль – определяет глобальный контекст задачи.
Модуль формы списка справочника – запускается при вызове формы списка.
Модуль формы группы справочника – запускается при открытии формы группы справочника.
Модуль формы элемента справочника – запускается при вводе значения элемента.