- •Ведение
- •1 Основные теоретические сведения
- •1.1 Архитектура среды 1с:Предприятие
- •1.2 Разработка конфигурации
- •1.3 Инструменты разработки
- •1.3.1 Дерево конфигурации
- •1.3.2 Палитра свойств
- •1.3.2.1 Основные свойства
- •1.3.2.2 Группа свойств «Представление»
- •1.3.2.3 Группа свойств «Разработка»
- •1.3.3 Объектные и необъектные данные
- •1.3.4 Конструкторы
- •1.3.4 Редакторы
- •1.3.4.1 Редактор экранных форм
- •1.3.4.2 Редактор интерфейсов
- •1.3.4.3 Табличный редактор
- •1.3.4.4 Редактор программных модулей
- •1.3.5 Встроенный язык
- •1.3.6 Синтакс – помощник
- •1.3.7 Отладчик
- •1.3.8 Замер производительности
- •1.3.9 Механизм запросов
- •1.3.10 Работа с конфигурацией
- •1.3.10.1 Сохранение конфигурации
- •1.3.10.2 Обновление конфигурации
- •1.3.10.3 Сохранение конфигурации в файл
- •1.3.10.4 Создание резервной копии иб
- •1.3.10.5 Сравнение и объединение конфигураций
- •1.3.11 Работа в пользовательском режиме
- •1.3.12 Основная конфигурация и конфигурация базы данных
- •1.3.13 Средства групповой разработки
- •1.4 Объекты системы
- •1.4.1 Классификация объектов конфигурации
- •1.4.1.1 Прикладные объекты
- •1.4.1.2 Подчиненные объекты
- •1.4.2 Типы данных
- •1.4.3 Встроенный язык программирования
- •1.4.3.1 Виды модулей
- •1.4.3.2 Контекст выполнения модуля
- •1.4.3.3 Формат описания элементов языка
- •1.4.3.4 Формат программного модуля
- •1.4.3.5 Формат операторов
- •1.4.3.6 Имена переменных, процедур и функций
- •1.4.3.7 Зарезервированные слова
- •1.4.3.8 Структура программного модуля
- •1.4.3.9 Специальные символы, используемые в исходном тексте
- •1.4.3.10 Примитивные типы данных
- •1.4.3.10.2 Булево (Boolean)
- •1.4.3.10.3 Дата (Date)
- •1.4.3.10.4 Неопределено (Undefined)
- •1.4.3.10.5 Строка (String)
- •1.4.3.10.7 Число (Number)
- •1.4.3.11 Оператор присваивания
- •1.4.3.12 Выражения языка
- •1.4.3.12.1 Арифметические операции
- •1.4.3.12.2 Логические операции
- •1.4.3.12.3 Операции сравнения:
- •1.4.3.12.4 Булевы операции:
- •1.4.3.13 Оператор объявления переменной
- •1.4.3.14 Оператор условного выполнения
- •1.4.3.15 Операторы цикла
- •1.4.3.16 Оператор управления циклом
- •1.4.3.17 Оператор прерывания цикла
- •1.4.3.17 Оператор перехода
- •1.4.3.18 Оператор обработки исключительных ситуаций
- •1.4.3.19 Процедуры и функции
- •1.4.3.19.1 Описание процедур и функций
- •1.4.3.19.1.1 Процедура
- •1.4.3.19.1.2 Функция
- •1.4.3.19.1.3 Предварительное описание процедур и функций
- •1.4.3.19.2 Вызов процедур и функций. Передача параметров
- •1.4.4 Основные приемы работы с объектами в программе
- •1.4.4.1 Обращение к свойствам объектов
- •1.4.4.2 Дополнение контекста объектов и форм
- •1.4.4.3 Работа с прикладными объектами средствами встроенного языка
- •1.4.4.4 Специфические объекты
- •1.4.4.5 Взаимосвязь объектов
- •1.4.4.6 Иерархия объектов
- •1.4.5 Работа с коллекциями значений
- •1.4.5.1 Использование номеров и индексов
- •1.4.5.2 Массив
- •1.4.5.3 Структура
- •1.4.5.4 Соответствие
- •1.4.5.5 Список значений, таблица значений, дерево значений
- •1.4.5.5.1 Список значений
- •1.4.5.5.2 Таблица значений
- •1.4.5.5.3 Дерево значений
- •1.5 Варианты работы системы
- •1.5.1 Файл - серверный вариант
- •1.5.2 Клиент - серверный вариант
- •1.5.2.1 Сервер 1с:Предприятия
- •1.5.2.2 Безопасная зона
- •1.6 Постановка задачи
- •2.1.1.2 Подсистемы
- •2.1.1.3 Константы
- •2.1.1.4. Перечисления
- •2.1.2 Задание на лабораторную работу
- •2.1.3 Контрольные вопросы
- •2.2 Лабораторная работа № 2. Справочники.
- •2.2.1 Теоретические сведения
- •2.2.1.1 Создание справочника с табличной частью
- •2.2.1.2 Создание иерархического справочника
- •2.2.1.3 Создание справочника с предопределенными элементами
- •2.2.1.4 Создание подчиненного справочника
- •2.2.1.5 Создание формы для работы со связанными справочниками
- •2.2.2 Задание на лабораторную работу
- •2.2.3 Контрольные вопросы
- •2.3 Лабораторная работа № 3. Документы
- •2.3.1 Теоретические сведения
- •2.3.1.1 Проведение документа
- •2.3.1.2 Создание документа
- •2.3.1.3 Создание формы документа
- •2.3.1.4 Создание процедуры обработки события в модуле формы
- •2.3.1.5 Создание процедуры обработки события в общем модуле
- •2.3.1.6 Усовершенствование формы документа
- •2.3.1.7 Ввод документов на основании
- •2.3.2 Задание на лабораторную работу
- •2.3.3 Контрольные вопросы.
- •2.4 Лабораторная работа № 4. Регистры сведений
- •2.4.1 Теоретические сведения
- •2.4.1.1 Регистр сведений «КурсыВалют»
- •2.4.1.2 Отбор в диалоге
- •2.4.1.3 Чтение значения курса валют
- •2.4.1.4 Регистр сведений «Цены поставщиков»
- •2.4.1.5 Регистр сведений «Цены номенклатуры»
- •2.4.1.6 Создание функции РозничнаяЦена()
- •2.4.1.7 Автоматическое заполнение цены документа «ОказаниеУслуги»
- •2.4.2 Задание на лабораторную работу
- •2.4.3 Контрольные вопросы
- •2.5 Лабораторная работа № 5. Регистры накопления
- •2.5.1 Теоретические сведения
- •2.5.1.1 Проведение документа по нескольким регистрам
- •2.5.1.2 Регистр «Остатки номенклатуры»
- •2.5.1.2 Проведение документа «РасходнаяНакладная»
- •2.5.1.3 Оборотный регистр накопления «Продажи»
- •2.5.2 Задание на лабораторную работу
- •2.5.3 Контрольные вопросы
- •2.6 Лабораторная работа № 6. Журналы документов. Критерии отбора.
- •2.6.1 Теоретические сведения
- •2.6.1.1 Создание журнала документов
- •2.6.1.2 Создание критерия отбора
- •2.6.2 Задание на лабораторную работу
- •2.7.1.2 Макеты
- •2.7.1.2.1 Фиксация таблицы (шапки и боковика).
- •2.7.1.2.2 Защита от редактирования.
- •2.7.1.2.3 Перемещение по таблице.
- •2.7.1.2.4 Управление видом таблицы.
- •2.7.1.2.5 Масштабирование изображения.
- •2.7.1.3 Построение отчета
- •2.7.1.4 Печатная форма элемента справочника
- •2.7.1.5 Печатная форма списка справочника
- •2.7.1.6 Расшифровка ячейки печатной формы
- •2.7.1.7 Печатная форма документа
- •2.7.1.8 Печатная форма журнала документов
- •2.7.2 Задание на лабораторную работу
- •2.7.3 Контрольные вопросы
- •2.8 Лабораторная работа № 8. Отчеты и обработки.
- •2.8.1 Теоретические сведения
- •2.8.1.1 Создание отчета «Материалы»
- •2.8.1.2 Печать прайс-листа
- •2.8.1.3 Отчет «ЦеныПоставщиков» на заданную дату
- •2.8.2 Задание на лабораторную работу
- •2.8.3 Контрольные вопросы
- •Список литературы
1.2 Разработка конфигурации
Как нам уже известно, конфигурация, являющаяся составной частью системы программ 1С:Предприятие, с точки зрения пользователя является собственно «программой» или прикладным решением. Прикладное решение не пишется в прямом смысле на языке программирования. При создании прикладных решений в системе 1С:Предприятие используется более абстрактная технология – технология метаданных.
В конфигурации в целом объединены данные и метаданные. Метаданные представляют собой иерархическую структуру объектов, полностью описывающую все прикладное решение. Среда исполнения системы 1С:Предприятие исполняет или «проигрывает» метаданные, аналогично тому, как операционная система исполняет код загрузочного модуля.
Отличительной особенностью технологии метаданных является использование визуального конструирования прикладного решения. Вместо кропотливого написания кода разработчик просто добавляет визуальными средствами новый объект метаданных в прикладное решение и получает сразу же описания нужных типов, структур данных, наборов прав, связи между объектами и т.д.
Все прикладное решение представляется не в виде строк с инструкциями на языке программирования, а в виде иерархической структуры объектов метаданных. При этом разработчик использует встроенный язык и язык запросов для того, чтобы описать специфические алгоритмы поведения тех или иных объектов конфигурации. Использование встроенного языка при разработке прикладных решений ограничено в основном решением тех задач, которые действительно требуют алгоритмического описания, например, проверка корректности введения данных и т.п. Основная же структура прикладного решения описывается структурой метаданных.
Почти все объекты метаданных содержат модули, в которых могут быть описаны алгоритмы на встроенном языке. Эти модули вызываются средой исполнения в конкретные, заранее определенные моменты работы прикладного решения – при возникновении события. Таким образом, использование встроенного языка в прикладных решениях носит событийный характер.
Важной особенностью системы 1С:Предприятие является то, что для описания структуры прикладного решения разработчик использует не произвольные, а строго определенные объекты метаданных. Платформа 1С:Предприятия содержит ограниченный набор прототипов (шаблонов) объектов конфигурации (рис. 1.2). Среди этих шаблонов есть шаблоны справочников, документов, регистров и т.д.
Каждый такой шаблон содержит определенную базовую реализацию объекта конфигурации. Когда разработчик создает новый объект конфигурации, этот объект наследует базовую реализацию прототипа:
платформа знает, какие таблицы (состав полей, количество таблиц, связи между ними) необходимо создать в хранилище данных при сохранении конфигурации;
добавляются новые типы встроенного языка, позволяющие работать с данными создаваемого объекта, причем состав этих данных может быть различным для разных шаблонов;
создается набор прав, которые будут использоваться для данного объекта, причем наборы прав для разных шаблонов различны, т.к. различается их базовая функциональность;
определяются стандартные действия, которые система может выполнять с данными этого объекта конфигурации.
Благодаря этому, разработчик, не производя никаких дополнительных действий, сразу же может запустить прикладное решение и работать с только что добавленным объектом, т.к. базовая реализация объекта, унаследованная от прототипа, обеспечит выполнение всех необходимых типовых действий.
Рис. 1.2 Архитектура среды 1С:Предприятие
Таким образом, несмотря на то, что каждое прикладное решение обладает собственной «индивидуальностью», оно создано по определенной модели, с использованием объектов конфигурации, обладающих одинаковой базовой реализацией. Такой подход значительно упрощает модификацию прикладных решений разработчиками, которые не участвовали в их создании.
Мы говорили о понятиях типовой конфигурации, конфигурации партнера. В то же время конфигурация является и термином, используемым при разработке в 1С:Предприятии. Программист, использующий среду разработки Конфигуратор, работает с конфигурацией, как главным объектом процесса разработки. Можно сказать, что с точки зрения программиста конфигурация – это проект, объединяющий в своем составе модель предметной области и программный код.
В целом можно представить упрощенную схему процесса разработки, когда конфигурация как проект разработки превращается в типовую конфигурацию, с которой работают пользователи (рис. 1.3).
Рис. 1.3 Этапы развития конфигурации
Теперь необходимо разобраться со структурой конфигурации. Естественно, нас интересует конфигурация как программный объект. В системе 1С:Предприятие 8 данные и метаданные хранятся в одном месте, которое называется информационной базой (рис. 1.4).
Информационная база – совокупность данных и метаданных, хранящихся в локальной или серверной базе данных и доступных для пользователей и разработчиков.
Как известно, при работе с базой данных пользователей редактируемые данные блокируются. Это относится как к данным, так и метаданным. Действительно, нельзя изменить структуру таблицы, если ее содержимое заблокировано хотя бы и частично. Для того, чтобы обеспечить возможность разработки (доработки) конфигурации одновременно с работой пользователей, в 1С:Предприятии используются два экземпляра конфигурации.
Рис. 1.4 Процесс обновления информационной базы
Конфигурация БД – метаданные, содержащие структуру конфигурации, хранящиеся в локальной или серверной БД, недоступные для интерактивного изменения.
Основная конфигурация – метаданные, содержащие структуру конфигурации, хранящиеся в локальной или серверной БД, доступные для интерактивного изменения.
Разработчик в процессе работы имеет дело с основной конфигурацией, состав которой доступен в дереве конфигурации в среде разработки Конфигуратор. После внесения необходимых изменений (в ходе этих работ пользователи продолжают работать с информационной базой) разработчик обновляет конфигурацию базы данных и на этом этапе необходимо использовать информационную базу в монопольном режиме.
Конфигурация имеет в своем составе:
структуру учетных данных (основные объекты – справочники, документы, планы);
структуру пользовательского интерфейса (формы, меню, командные панели и т.д.);
модули различных типов с программным кодом (общие, объектов, форм);
механизмы хранения и обработки итоговых данных (регистры);
механизмы представления бизнес-процессов (бизнес-процессы и задачи);
механизмы создания распределенных информационных баз (планы обмена);
механизмы разграничения прав доступа;
вспомогательные объекты.