Файл: Конспект лекций междисциплинарного курса мдк 01. 03 Программирование в среде 1С предприятие.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.05.2024
Просмотров: 147
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
2.1. Состав системы программ «1С: Предприятие 8»
2.3. Архитектуры системы программ «1С: Предприятие»
3. Объектная модель платформы «1С: Предприятие»
3.7. Методика построения объектной PIM и PSM моделей
4. Табличная модель платформы «1С: Предприятие»
4.3. Создание запроса и использование его результатов
ящее время система 1С:Предприятие может работать со следующими серверами баз данных: Microsoft SQL Server, PostgreSQL, IBМ DB2, Oracle Database. File DBMS.
У каждого общего модуля конфигурации, существует набор свойств: Клиент (управляемое приложение), Сервер и Внешнее соединение. Значения этих свойств (истина/ложь) определяют, где будут скомпилированы экземпляры модулей.
Все, что разработано и написано в конфигурации пока только некая «заготовка». Платформа запускаемая в режиме 1С:Предприятие, превращает все это в программу, которую уже можно исполнить на компьютере, - компилирует. При этом есть разные части системы, в которых исполняется код – сервер и клиентские приложения. Поэтому для общих модулей необходимо в явном виде указать, на какой «стороне» они должны быть скомпилированы - на сервере или клиенте.
Если установить свойство Клиент (управляемое приложение), то экземпляры этого модуля будут скомпилированы только на стороне клиента в контекстах тонкого клиента и веб-клиента. Если у модуля установлено только свойство Сервер, то модуль будет скомпилирован только на стороне сервера.
Клиентских приложений – три: Толстый клиент (1cv8.exe), Тонкий клиент(1cv8с.exe) и Веб-клиент.
«Толстым» клиент называется потому, что может исполнять всю функциональность встроенного языка, в том числе работать с типами данных СправочникОбъект.<имя>, ДокументОбъект.<имя>. Он требует значительных ресурсов на компьютере пользователя.
Тонкий клиент требует значительно меньше ресурсов, так как он исполняет ограниченный набор функциональности встроенного языка, предназначенный лишь для отображения и изменения данных в оперативной памяти. Вся работа с базой данных выполняется на стороне сервера.
Веб-клиент не существует в виде файла, потому что он исполняется не в среде операционной системы, а в среде интернет-браузера. Пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база и веб-клиент скачается к нему на компьютер и начнет исполняться.
Форма (документа или справочника) существует и на сервере, и на клиенте одновременно. Поэтому для каждой процедуры, которая существует в модуле формы
, нужно указывать в явном виде контекст ее исполнения: на сервере или на клиенте. Наличие директив &НаКлиенте или &НаСервере или &НаСервереБезКонтекста связано с тем, что при использовании встроенного языка в модуле формы клиентский код должен быть четко отделен от серверного. Таким образом, указав одну из директив, разработчик в явном виде программирует серверную или клиентскую части.
В модуле формы одновременно можно поместить процедуры с различными директивами исполнения и передавать выполнение кода с клиента на сервер. Также из клиентской процедуры модуля формы можно вызвать процедуру общего модуля, которая может выполняться как на клиенте, так и на сервере, в зависимости от установленных свойств модуля Тонкий клиент или Сервер.
После запуска прикладного решения выполнение кода всегда начинается на клиенте. В процессе работы выполнение кода может быть передано на сервер посредством вызова процедуры общего модуля, скомпилированного на сервере.
При вызове процедуры или функции её поиск осуществляется сначала на клиенте. Если скомпилированный контекст клиента не содержит данную процедуру, то поиск продолжается на стороне сервера. Если вызываемая процедура будет найдена, то выполнение кода будет передано на сервер. После завершения процедуры выполнение кода продолжится на клиенте.
2.4. Платформенно-зависимая модель «1С: Предприятие»
Среда разработки «1С: Предприятия» – Конфигуратор, обеспечивает создание приложений на основе платформенно–зависимой модели. Собственно модель соответствует структуре конфигурации, которая доступна программисту для разработки и просмотра в специальном инструменте – окне дерева конфигурации. Дерево конфигурации состоит из объектов – элементов модели. Различают три вида объектов.
Основные объекты обеспечивают собственно моделирование. Каждый основной объект моделирует какую-либо сущность предметной области. К ним относятся справочники, документы, отчеты, регистры и т.д.
Подчиненные объекты отражают структуру и формируют поведение основных объектов. К ним относятся, например, реквизиты, табличные части, формы, макеты. Важнейшими из них являются реквизиты. Сущности обладают некоторыми свойствами, часть из которых является важными для построения правильной модели. Такие свойства отражаются в модели при помощи ряда инструментов, важнейшими из которых являются реквизиты. Реквизиты основных объектов – суть свойства сущностей предметной области.
Табличные части – это таблицы реквизитов. Они призваны моделировать сложные свойства, которые не могут быть представлены одним параметром.
Общие объекты является вспомогательными и обеспечивают моделирование свойств конфигурации в целом.
В процессе работы разработчик создает общие и основные объекты, настраивает их подчиненные объекты. При этом он просто отражает при помощи объектов структуру и состояние предметной области. Здесь важно подчеркнуть, что виды основных объектов созданы так, чтобы максимально эффективно моделировать именно задачи учета и документооборота.
При этом при создании и настройке объектов автоматически выполняется значительный объем работы. Формируются программные объекты – дублеры основных объектов, изменяются существующие программные объекты, добавляются элементы управления и т.д. То есть на основе платформенно- зависимой модели (ПЗМ) создается конкретная реализация на базе платформы «1С: Предприятие».
Рис.2.6. ПЗМ «1С: Предприятие»
В рамках ПЗМ «1С: Предприятие» выделяют следующие модели.
Объектная модель представляет структуру и состав предметной области. Она состоит из основных объектов, предназначенных для моделирования документооборота и учета в целом. Использует важнейшие основные объекты: документ, справочник, регистр, отчет.
Процессная модель описывает бизнес-процессы предметной области. Состоит из специфических основных объектов: бизнес-процессов и задач.
Объекты объектной и процессной моделей тесно связаны с программным кодом конфигурации. Для каждого основного объекта автоматически создается соответствующий одноименный программный объект, с которым может работать разработчик в процессе создания программного кода конфигурации. Кроме этого, создаются или изменяются разнообразные вспомогательные программные объекты (рис. 2.7).
Рис.2.7. Взаимосвязь программных и основных объектов
Например, для каждого вида основных объектов в конфигурации существует объект коллекции. Например, Справочники – это коллекция менеджеров всех справочников, через которую можно обращаться к любому справочнику:
Справочники.Справочник1.НекотороеСвойство
В то же время создание каждого основного объекта приводит к созданию новой таблицы в базе данных, связанной с конфигурацией. Совокупность таблиц представляет собой табличную модель, с которой разработчик взаимодействует при создании запросов.
3.1. Объекты для построения ПЗМ
Документ – объект, предназначенный для представления первичной информации о совершенных хозяйственных операциях или о событиях, произошедших в жизни организации вообще. Документ обладает уникальной способностью – проведением. Это означает, что событие, которое документ отражает, повлияло на состояние учета. Факт проведения означает, что документ обработан полностью. Еще одна важная особенность документа – его привязка к шкале времени. Это позволяет отслеживать последовательность событий.
Отчет – объект, предназначенный для представления алгоритмов и инструментов получения выходных данных. Отчеты обобщают, формируют и выводят в заранее заданной форме учетную информацию.
Из перечисленных основных объектов уже можно построить завершенную информационную систему (рис.3.1).
Рис. 3.1. Простейшая информационная система на основе документов и отчетов
Однако, для целей практической разработки этих объектов недостаточно. Необходимо ввести еще два объекта, один из которых отвечает за организацию ввода данных, а второй за организацию хранения данных.
Справочник – объект, предназначенный для описания однородных данных, представленных в виде списков. Данные, хранимые в справочниках можно считать условно-постоянными. Хотя пользователь имеет возможность редактировать содержимое справочников, происходит это сравнительно нечасто.
Регистр – объект, предназначенный для описания структур накопления данных. Регистр содержит измерения – свойства, обеспечивающие анализ накапливаемых данных в требуемых разрезах. Регистр содержит ресурсы – виды накапливаемых данных. Регистр, как правило, связан с документом и обеспечивает сохранение данных, изменяемых или создаваемых при проведении документа. С практической точки зрения регистры обеспечивают повышение производительности конфигурации, так как они реализуют механизм распределения во времени вычислительной нагрузки. Действительно, если в регистры помещается итоговая, суммирующая информация, к которой впоследствии происходит обращение, значит часть вычислительных затрат реализована заранее – при помещении данных в регистр. Дополнительное увеличение производительности системы обеспечивается за счет применения еще одного специализированного механизма регистров – виртуальных таблиц.
У каждого общего модуля конфигурации, существует набор свойств: Клиент (управляемое приложение), Сервер и Внешнее соединение. Значения этих свойств (истина/ложь) определяют, где будут скомпилированы экземпляры модулей.
Все, что разработано и написано в конфигурации пока только некая «заготовка». Платформа запускаемая в режиме 1С:Предприятие, превращает все это в программу, которую уже можно исполнить на компьютере, - компилирует. При этом есть разные части системы, в которых исполняется код – сервер и клиентские приложения. Поэтому для общих модулей необходимо в явном виде указать, на какой «стороне» они должны быть скомпилированы - на сервере или клиенте.
Если установить свойство Клиент (управляемое приложение), то экземпляры этого модуля будут скомпилированы только на стороне клиента в контекстах тонкого клиента и веб-клиента. Если у модуля установлено только свойство Сервер, то модуль будет скомпилирован только на стороне сервера.
Клиентских приложений – три: Толстый клиент (1cv8.exe), Тонкий клиент(1cv8с.exe) и Веб-клиент.
«Толстым» клиент называется потому, что может исполнять всю функциональность встроенного языка, в том числе работать с типами данных СправочникОбъект.<имя>, ДокументОбъект.<имя>. Он требует значительных ресурсов на компьютере пользователя.
Тонкий клиент требует значительно меньше ресурсов, так как он исполняет ограниченный набор функциональности встроенного языка, предназначенный лишь для отображения и изменения данных в оперативной памяти. Вся работа с базой данных выполняется на стороне сервера.
Веб-клиент не существует в виде файла, потому что он исполняется не в среде операционной системы, а в среде интернет-браузера. Пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база и веб-клиент скачается к нему на компьютер и начнет исполняться.
Форма (документа или справочника) существует и на сервере, и на клиенте одновременно. Поэтому для каждой процедуры, которая существует в модуле формы
, нужно указывать в явном виде контекст ее исполнения: на сервере или на клиенте. Наличие директив &НаКлиенте или &НаСервере или &НаСервереБезКонтекста связано с тем, что при использовании встроенного языка в модуле формы клиентский код должен быть четко отделен от серверного. Таким образом, указав одну из директив, разработчик в явном виде программирует серверную или клиентскую части.
В модуле формы одновременно можно поместить процедуры с различными директивами исполнения и передавать выполнение кода с клиента на сервер. Также из клиентской процедуры модуля формы можно вызвать процедуру общего модуля, которая может выполняться как на клиенте, так и на сервере, в зависимости от установленных свойств модуля Тонкий клиент или Сервер.
После запуска прикладного решения выполнение кода всегда начинается на клиенте. В процессе работы выполнение кода может быть передано на сервер посредством вызова процедуры общего модуля, скомпилированного на сервере.
При вызове процедуры или функции её поиск осуществляется сначала на клиенте. Если скомпилированный контекст клиента не содержит данную процедуру, то поиск продолжается на стороне сервера. Если вызываемая процедура будет найдена, то выполнение кода будет передано на сервер. После завершения процедуры выполнение кода продолжится на клиенте.
2.4. Платформенно-зависимая модель «1С: Предприятие»
Среда разработки «1С: Предприятия» – Конфигуратор, обеспечивает создание приложений на основе платформенно–зависимой модели. Собственно модель соответствует структуре конфигурации, которая доступна программисту для разработки и просмотра в специальном инструменте – окне дерева конфигурации. Дерево конфигурации состоит из объектов – элементов модели. Различают три вида объектов.
Основные объекты обеспечивают собственно моделирование. Каждый основной объект моделирует какую-либо сущность предметной области. К ним относятся справочники, документы, отчеты, регистры и т.д.
Подчиненные объекты отражают структуру и формируют поведение основных объектов. К ним относятся, например, реквизиты, табличные части, формы, макеты. Важнейшими из них являются реквизиты. Сущности обладают некоторыми свойствами, часть из которых является важными для построения правильной модели. Такие свойства отражаются в модели при помощи ряда инструментов, важнейшими из которых являются реквизиты. Реквизиты основных объектов – суть свойства сущностей предметной области.
Табличные части – это таблицы реквизитов. Они призваны моделировать сложные свойства, которые не могут быть представлены одним параметром.
Общие объекты является вспомогательными и обеспечивают моделирование свойств конфигурации в целом.
В процессе работы разработчик создает общие и основные объекты, настраивает их подчиненные объекты. При этом он просто отражает при помощи объектов структуру и состояние предметной области. Здесь важно подчеркнуть, что виды основных объектов созданы так, чтобы максимально эффективно моделировать именно задачи учета и документооборота.
При этом при создании и настройке объектов автоматически выполняется значительный объем работы. Формируются программные объекты – дублеры основных объектов, изменяются существующие программные объекты, добавляются элементы управления и т.д. То есть на основе платформенно- зависимой модели (ПЗМ) создается конкретная реализация на базе платформы «1С: Предприятие».
Рис.2.6. ПЗМ «1С: Предприятие»
В рамках ПЗМ «1С: Предприятие» выделяют следующие модели.
Объектная модель представляет структуру и состав предметной области. Она состоит из основных объектов, предназначенных для моделирования документооборота и учета в целом. Использует важнейшие основные объекты: документ, справочник, регистр, отчет.
Процессная модель описывает бизнес-процессы предметной области. Состоит из специфических основных объектов: бизнес-процессов и задач.
Объекты объектной и процессной моделей тесно связаны с программным кодом конфигурации. Для каждого основного объекта автоматически создается соответствующий одноименный программный объект, с которым может работать разработчик в процессе создания программного кода конфигурации. Кроме этого, создаются или изменяются разнообразные вспомогательные программные объекты (рис. 2.7).
Рис.2.7. Взаимосвязь программных и основных объектов
Например, для каждого вида основных объектов в конфигурации существует объект коллекции. Например, Справочники – это коллекция менеджеров всех справочников, через которую можно обращаться к любому справочнику:
Справочники.Справочник1.НекотороеСвойство
В то же время создание каждого основного объекта приводит к созданию новой таблицы в базе данных, связанной с конфигурацией. Совокупность таблиц представляет собой табличную модель, с которой разработчик взаимодействует при создании запросов.
3. Объектная модель платформы «1С: Предприятие»
3.1. Объекты для построения ПЗМ
Документ – объект, предназначенный для представления первичной информации о совершенных хозяйственных операциях или о событиях, произошедших в жизни организации вообще. Документ обладает уникальной способностью – проведением. Это означает, что событие, которое документ отражает, повлияло на состояние учета. Факт проведения означает, что документ обработан полностью. Еще одна важная особенность документа – его привязка к шкале времени. Это позволяет отслеживать последовательность событий.
Отчет – объект, предназначенный для представления алгоритмов и инструментов получения выходных данных. Отчеты обобщают, формируют и выводят в заранее заданной форме учетную информацию.
Из перечисленных основных объектов уже можно построить завершенную информационную систему (рис.3.1).
Рис. 3.1. Простейшая информационная система на основе документов и отчетов
Однако, для целей практической разработки этих объектов недостаточно. Необходимо ввести еще два объекта, один из которых отвечает за организацию ввода данных, а второй за организацию хранения данных.
Справочник – объект, предназначенный для описания однородных данных, представленных в виде списков. Данные, хранимые в справочниках можно считать условно-постоянными. Хотя пользователь имеет возможность редактировать содержимое справочников, происходит это сравнительно нечасто.
Регистр – объект, предназначенный для описания структур накопления данных. Регистр содержит измерения – свойства, обеспечивающие анализ накапливаемых данных в требуемых разрезах. Регистр содержит ресурсы – виды накапливаемых данных. Регистр, как правило, связан с документом и обеспечивает сохранение данных, изменяемых или создаваемых при проведении документа. С практической точки зрения регистры обеспечивают повышение производительности конфигурации, так как они реализуют механизм распределения во времени вычислительной нагрузки. Действительно, если в регистры помещается итоговая, суммирующая информация, к которой впоследствии происходит обращение, значит часть вычислительных затрат реализована заранее – при помещении данных в регистр. Дополнительное увеличение производительности системы обеспечивается за счет применения еще одного специализированного механизма регистров – виртуальных таблиц.