
- •Тема 1. Обзор системы 1с:Предприятие 8.0
- •1.1. Обзор системы 1с:Предприятие 8.0
- •1.2. Объекты конфигурации
- •1.3. Инструменты разработки
- •1.4. Администрирование
- •1.5. Файловый и клиент-серверный варианты работы
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2. Встроенный язык. Программные модули.
- •2.1. Встроенный язык
- •2.1.1. Программные модули
- •2.1.2. Разделы программного модуля
- •2.2. Контекст
- •2.3. Стандарты именования переменных, процедур и объектов конфигурации
- •2.4. Правила написания программных модулей
- •2.5. Конструкции встроенного языка
- •2.5.1. Условия
- •2.5.2. Циклы
- •2.5.3. Безусловные переходы
- •2.5.4. Обработка исключений
- •2.5.5. Процедуры и функции
- •2.6. Инструкции препроцессора
- •2.7. Типы данных
- •2.8. Редактор программных модулей
- •Вопросы для повторения
- •Резюме по теме
- •Тема 3. Основные объекты конфигурации
- •3.1. Константы
- •3.2. Справочники, их структура, предопределенные элементы, подчиненные справочники, иерархические справочники
- •3.2.1. Структура справочника
- •3.2.2. Предопределенные элементы
- •3.2.3. Подчиненные справочники
- •3.2.4. Табличные части
- •3.2.5. Иерархические справочники
- •3.2.6. Экранные формы
- •3.3. Документы и журналы документов
- •3.3.1. Структура документа
- •3.3.2. Экранные формы документа
- •3.3.3. Макеты документа
- •3.3.4. Проведение документов
- •3.3.5. Модуль документа
- •3.3.6. Нумерация документов
- •3.3.7. Журналы документов
- •3.3.8. Последовательности
- •3.4. Перечисления
- •3.5. Отчеты и обработки
- •3.6. Внешние обработки
- •Вопросы для повторения
- •Резюме по теме
- •Тема 4. Интерфейс пользователя
- •4.1. Интерфейсы
- •4.2. Экранные формы
- •4.3. Редактор форм
- •4.4. Элементы управления
- •4.4.1. Поле ввода
- •4.4.2. Надпись
- •4.4.3. Кнопка
- •4.4.4. Командная панель
- •4.4.5. Флажок
- •4.4.6. Переключатели
- •4.4.7. Табличное поле
- •4.4.8. Поле списка
- •4.4.9. Поле выбора
- •4.4.10. Панель
- •4.4.11. Поле табличного документа
- •4.4.12. Рамка
- •4.4.13. Картинка
- •4.4.14. Диаграмма
- •4.4.15. Индикатор
- •4.4.16. Полоса регулирования
- •4.4.17. Поле календаря
- •4.4.18. Поле текстового документа
- •4.4.19. Поле html-документа
- •4.4.20. Разделитель
- •4.5. Привязка границ
- •4.6. Приемы программирования
- •4.6.1. Открытие и закрытие форм
- •4.6.2. Формы для выбора
- •4.6.3. Внешний вид формы
- •4.6.4. Элементы формы
- •Вопросы для повторения
- •Резюме по теме
- •Тема 5. Коллекции значений
- •5.1. Массив
- •5.2. Структура и соответствие
- •5.3. Список значений
- •5.4. Таблица значений
- •5.5. Дерево значений
- •Вопросы для повторения
- •Резюме по теме
- •Тема 6. Взаимодействие с другими системами
- •6.1. Текстовые файлы
- •6.1.1. Объект «ТекстовыйДокумент»
- •6.1.2. Последовательный доступ к тексту
- •6.1.3. Объект «ЗаписьТекста»
- •6.1.4. Объект «ЧтениеТекста»
- •6.2. XBase (работа с dbf-файлами)
- •6.2.1. Запись dbf-файла
- •6.2.2. Чтение dbf-файла
- •6.2.3. Удаленные записи
- •6.2.4. Индексы
- •6.3.1. Запись xml
- •6.3.2. Чтение xml
- •6.4. Интернет-технологии
- •6.4.1. Интернет-соединение
- •6.4.2. Поле html-документа
- •6.4.3. Электронная почта (e-mail)
- •6.4.4. Работа с ftp
- •6.5. Работа с операционной системой
- •6.7. Механизм Automation
- •6.8. Технология внешних компонент
- •Вопросы для повторения
- •Резюме по теме
- •Практикум (лабораторный) Лабораторная работа №1. Знакомство с платформой 1с:Предприятие 8.0. Создание новой информационной базы.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №2. Знакомство с объектом конфигурации «Справочник».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №3. Знакомство с объектом конфигурации «Документ».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №4. Знакомство с объектом конфигурации «Регистр накопления».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №5. Знакомство с объектом конфигурации «Отчет».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №6. Знакомство с объектом конфигурации «Макет».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №7. Редактирование макетов и форм.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №8. Периодический регистр сведений.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №9. Знакомство с объектом конфигурации «Перечисление».
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №10. Проведение документа по нескольким регистрам.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №11. Оборотный регистр накопления.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа № 12. Знакомство с объектом конфигурации «Отчет» ч.1.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа № 13. Знакомство с объектом конфигурации «Отчет» ч.2.
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
2.1.2. Разделы программного модуля
Любой программный модуль, за исключением общих модулей, состоит из следующих разделов:
раздел объявления переменных,
раздел процедур и функций,
раздел основной программы.
Внимание! У общих модулей есть только раздел процедур и функций.
В разделе объявления переменных определяются локальные переменные модуля и экспортируемые переменные, которые объявляются с ключевым словом Экспорт, например:
//экспортируемые переменные
Перем НачДата Экспорт;
Перем КонДата Экспорт;
Перем мПериодСтрокой; //локальная переменная модуля
//далее идут процедуры и функции
//а затем раздел основной программы
Раздел процедур и функций содержит тела процедур и функций, написанных разработчиком вручную или сформированных конструктором. Некоторые процедуры и функции могут быть объявлены с ключевым словом Экспорт, тогда они дополняют контекст объекта и становятся видимыми вне объекта. Например, ниже приведен модуль документа:
Перем НачДата Экспорт;
Перем КонДата Экспорт;
Перем мПериодСтрокой;
Процедура Печать(ТабДок=Неопределено) Экспорт
//эта процедура будет доступна как метод объекта ДокументОбъект
КонецПроцедуры
Функция ПолучитьГруппировку(РезультатЗапроса, ИмяГруппировки)
//это локальная процедура модуля
КонецФункции
Процедуры и функции рекомендуется отделять комментарием с разделителем. В виде комментариев рекомендуется указывать назначение процедуры или функции, параметры и возвращаемое значение для функций.
В самом конце модуля, после всех процедур или функций, следует раздел основной программы, состоящий из выполняемых операторов. Эти операторы будут исполнены при инициализации модуля, например, для модуля справочника — при создании объекта типа СправочникОбъект, для модуля формы — при создании объекта Форма. Обычно в этом блоке операторов производится инициализация переменных модуля и заполнение полей начальными значениями.
2.2. Контекст
Контекст — очень важное понятие при программировании на любом языке. В 1С:Предприятии 8.0 контекст обозначает окружение модуля, т.е. какие ему будут доступны переменные, объекты, свойства, методы и события.
Можно выделить следующие виды контекстов, существующих в 1С:Предприятии 8.0:
Глобальный контекст, доступный во всех остальных контекстах, состоит из следующих частей:
свойства, методы и события глобального контекста (например, свойство РабочаяДата),
системные перечисления и системные наборы значений (например, КодВозвратаДиалога и Символы).
В контексте модуля приложения (или модуля внешнего соединения) доступны экспортируемые переменные, процедуры и функции общих модулей.
В контексте общего модуля доступны экспортируемые процедуры и функции других общих модулей. В этом контексте недоступны экспортируемые переменные, процедуры и функции модуля приложения.
В контексте модуля прикладного объекта есть доступ к реквизитам и табличным частям объекта, а также его методам и событиям. Например, в модуле документа РасходнаяНакладная доступны реквизиты документа и его табличные части, можно вызывать методы документа и обрабатывать события.
В контексте модуля формы доступны реквизиты формы, а также ее свойства, методы и события. Если у формы назначен основной реквизит, то в модуле формы становятся доступны свойства и методы прикладного объекта, используемого в качестве основного реквизита.
Необходимо помнить правила видимости экспортируемых переменных, процедур и функций различных модулей:
В общем модуле недоступны экспортируемые переменные, процедуры и функции модуля приложения (модуля внешнего соединения).
В модуле приложения (модуле внешнего соединения) доступны экспортируемые процедуры и функции общих модулей.
В общих модулях доступны экспортируемые процедуры и функции других общих модулей.
В модулях прикладных объектов и модулях форм доступны экспортируемые переменные, процедуры и функции модуля приложения (модуля внешнего соединения), а также экспортируемые процедуры и функции общих модулей.
Если у формы назначен основной реквизит, то контекст модуля формы содержит дополнительные свойства и методы, связанные с основным реквизитом. Например, в модуле формы элемента справочника Номенклатура доступны свойства и методы объекта «СправочникОбъект.Номенклатура».
Схематично взаимосвязь контекстов можно изобразить следующим образом, приведенным на рисунке 2.3 (стрелки обозначают доступность одного контекста для другого):
Рис.2.3.
Синяя стрелка от модулей объектов к модулям форм отражает ситуацию, когда у формы назначен основной реквизит, например, у формы элемента справочника основным реквизитом является объект типа СправочникОбъект. Тогда в модуле формы будут доступны экспортируемые переменные, процедуры и функции модуля объекта.
Контекст может быть дополнен новыми свойствами и методами. Это происходит, если вы объявляете переменную, процедуру или функцию. Если она объявлена с ключевым словом Экспорт, тогда она становится видна вне объекта, иначе она будет доступна только внутри этого модуля.
На рисунке 2.4 схематично изображено возможное взаимодействие модуля формы журнала и модуля документа (стрелка обозначает вызов процедуры):
Рис. 2.4.