Программирование в 1с Предприятие 8

Базовый курс по программированию в "1С:Предприятие"
Модуль 1.
Занятие №1. Что такое "1С:Предприятие 8". Основные возможности системы и ее предназначение. Установка системы. Работа со справочниками
Цели занятия:
- выяснить, что такое "1С" и "1С:Предприятие";
- выяснить, где используются программы семейства "1С:Предприятие";
- выяснить,  что такое "Технологическая платформа "1С:Предприятие 8" и "Конфигурация";
- научиться создавать собственную конфигурацию системы "1С:Предприятие 8";
- познакомиться с понятием "Справочник" системы "1С:Предприятие";
- научиться создавать справочники в системе "1С:Предприятие".
План занятия:
1.    Установка платформы "1С:Предприятие 8"
2.    Создание информационной базы и ее запуск в различных режимах
3.    Создание справочников
Занятие №2. Работа с формами в системе "1С:Предприятие 8"
Цели занятия:
- выяснить, какой справочник называется иерархическим;
- выяснить, что такое форма элемента справочника;
- как разместить элемент (например, кнопку) на форме;
- где и как писать алгоритмы на языке "1С" для элементов формы,
- выяснить некоторые особенности встроенного языка "1С";
План занятия:
1.    Создание формы справочника "КаталогИгр"
2.    Запуск игр Windows из справочника
3.    Запуск игр - внешних обработок 1С из справочника
4.    Универсальный механизм запуска игр (файлов .exe и .epf) из справочника
Занятие №3. Создание игры "Наш Сапер" (начало)
Цели занятия:
- начать создавать игру "Наш Сапер" - аналог популярной игры ОС Windows:
- определить схему игры и ее логику;
- создать форму игры и разместить на ней основные элементы;
- определить параметры настроек игры.
План занятия:
1.    Описание графического интерфейса и логики игры
2.    Программный код игры на встроенном языке программирования "1С"
3.    Создание кнопок "Начать игру" и "Новая игра"
4.    Создание группы "Настройки" и ее элементов
5.    Описание настроек игры
Занятие №4. Создание игры "Наш Сапер" (Продолжение)
Цели занятия:
- продолжить работу над созданием игры "Наш Сапер";
- описать заполнение игрового поля элементами (кнопками, под которыми могут прятаться мины) при нажатии на кнопку "Начать игру";
- создать контекстное меню для каждого элемента игрового поля, в котором будут присутствовать команды установки пометок "Мина" и "Не знаю".
План занятия:
1.    Создание игрового поля
2.    Создание контекстного меню элемента поля
Занятие №5. Создание игры "Наш сапер" (продолжение)
Цели занятия:
- продолжить работу над созданием игры "Наш сапер";
- описать расстановку "мин" на игровом поле случайным образом;
-описать обработку события – нажатие на кнопку игрового поля.
План занятия:
1.    Создание "сетки минного поля"
2.    Добавление мин на игровое поле
3.    Описание события "Нажатие на кнопку игрового поля"
4.    Определение количества мин в соседних клетках
Занятие №6. Создание игры "Наш сапер" (окончание)
Цели занятия:
- закончить работу над созданием игры "Наш сапер";
-создать процедуру, открывающую все спрятанные "мины" в случае проигрыша;
-создать счетчик, который отображает  количество ненайденных мин;
-создать процедуру очистки игрового поля;
План занятия:
1.    Создание процедуры ОткрытьВсеМины()
2.    Создание счетчика ненайденных мин
3.    Создание процедуры очистки игрового поля при нажатии на кнопку "Новая игра"
4.    Выпуск игры в виде внешней обработки
Занятие №7. Создание пользователей в "1С:Предприятие 8"
Цели занятия:
- определить условия входа в нашу программу; это будет - регистрация пользователя в справочнике "Игроки";
- описать возможность входа в программу для пользователя, зарегистрированного в справочнике "Игроки";
- описать отказ в доступе к программе незарегистрированному пользователю;
- добавить  имя пользователя в заголовок программы.
План занятия:
1.    Создание параметра сеанса "ТекущийПользователь"
2.    Сохранение алгоритмов в информационной базе. Организация доступа к информационной базе пользователям, зарегистрированным в справочнике "Игроки"
Занятие №8. Ограничение доступа к данным на уровне записей и реквизитов
Цели занятия:
- познакомиться со встроенными механизмами создания пользователей  в   "1С:Предприятие 8";
- создать ряд пользователей нашей программы, обладающих определенными правами;
- ограничить доступ пользователей к справочнику "Игроки" - каждый игрок может видеть только свою карточку (за исключением администратора).
План занятия:
1.    Роли пользователей информационной базы
2.    Создание пользователей информационной базы
3.    Ограничение доступа пользователей к элементам справочника "Игроки"
Занятие №9. Настройка доступа к программе "Игры 1С" через Интернет
Цели занятия:
- организовать возможность доступа к программе "Игры 1С" через Интернет.
- познакомиться с понятиями как "сервер", "веб-сервер", "клиентские приложения";
-опубликовать нашу программу на веб-сервере;
-организовать к ней доступ пользователей различными способами.
План занятия:
1.    Публикация информационной базы на Веб-сервере
2.    Организация доступа к информационной базе, которая хранится на Веб-сервере, посредством "Тонкого клиента"
Занятие №10. Построение отчетов в системе "1С:Предприятие 8"
Цели занятия:
- построить отчет под названием "Результаты игр", который будет представлять собой таблицу с колонками "Период", "Игрок", "Игра", "Ед. изм. результата", "Результат";
- для пользователя, обладающего правами игрока, в таблице будут отображаться только его результаты игр, а для пользователя с полными правами будут доступны результаты всех игроков, зарегистрированных в программе.
План занятия:
1.    Создание регистра сведений "ТаблицаРезультатов"
2.    Построение отчета "РезультатыИгр"
Занятие №11. Введение в язык запросов
Цели занятия:
- выяснить, какие существуют способы доступа к информации, хранящейся в "1С:Предприятие 8";
- что такое запрос, когда его нужно использовать;
- как правильно написать запрос на специальном языке – языке запросов;
- какие конструкторы помогают при  создании запросов
План занятия:
1.    Источники данных для построения запроса
2.    Разбор текста запроса на примере отчета "РезультатыИгр"
3.    Построение отчета "Рекордсмены"
Занятие №12. Организация автоматической записи результата игры "Наш сапер" в информационную базу
Цели занятия:
- доработать игру «Наш сапер» - добавить счетчик «Время игры»;
- создать возможность автоматической записи результата игры в регистр сведений по специальной кнопке.
План занятия:
1.    Создание счетчика времени игры "НашСапер"
2.    Запись результата игры "Наш сапер" в информационную базу в регистр сведений "Таблица результатов"

Продвинутый курс по программированию в "1С:Предприятие"
Модуль 2.
Занятие №1. Программа учета личного времени. Начало создания.
Актуализация знаний: Общие сведения о системе "1С:Предприятие 8". Создание информационной базы
Теория: Базовые типы.
Практика. создание необходимых справочников; создание документов "Мероприятие", регистрирующих события в жизни школьников.
Цели занятия:
- актуализировать знания, полученные на предыдущем курсе: назначение  программ, созданных средствами "1С:Предприятие 8", понятие информационной базы (базы данных), назначение объекта "Справочник";
- познакомить  с примитивными типами, правилами записи их в алгоритмах;
- познакомить с новыми объектами платформы (документом, задачей) и научить грамотно их  использовать.
План занятия:
1.    создание информационной базы "Мой планировщик";
2.    подключение внешней обработки "Базовые типы" для знакомства с типами значений;
3.    знакомство с типами данных: строка, число, дата, булево, неопределено, NULL;
4.    введение в тайм-менеджмент. Понятие "учет" личного времени;
5.    создание справочников "Типы мероприятий" и "Виды мероприятий". Понятие "владелец";
6.    понятие "событие". Объект "документ" как регистратор события. Создание документа "Мероприятие";
7.    объект "Задача" как генератор документа. Создание задачи "Страничка дневника".
Занятие №2. Проведение документов "Мероприятие" – завершение учебного дня.
Теория: Выражения и операторы встроенного языка "1С:Предприятие 8". Неявное преобразование типов значений.
Практика. Работа над созданием прикладного решения "Мой планировщик". Проведение документов "Мероприятие". Создание механизма проведения документов "Мероприятие".
Цели занятия:
- познакомить учащихся с различными операторами встроенного языка;
- научить строить выражения на встроенном языке системы "1С:Предприятие 8";
- познакомить с понятием "проведение документа", выяснить его смысл;
- научить детей проводить документ интерактивно;
- создать механизм, позволяющий программно проводить целый ряд документов.
План занятия:
1.    подключение внешней обработки "Выражения и операторы" встроенного языка;
2.    знакомство с арифметическими операторами;
3.    знакомство с логическими операторами;
4.    знакомство с операцией конкатенации;
5.    знакомство с неявным преобразованием значений;
6.    понятие "проведение документа", интерактивное проведение документа;
7.    создание обработки "Завершение дня" – механизма, позволяющего проводить сразу несколько документов.
Занятие №3. Определение количества затраченного времени
Теория: Встроенные функции языка системы "1С:Предприятие". Явное преобразование типов значений.
Практика. Анализ затраченного времени. Отчеты. Построение отчета "Моя занятость".
Цели занятия:
- познакомить со встроенными функциями системы "1С:Предприятие 8", позволяющими выполнять различные действия над строковыми, числовыми выражениями, выражениями типа "дата";
- познакомить учащихся с новым объектом – регистром накопления, выяснить его предназначение;
- выяснить, как заполняется данными регистр накопления;
- актуализировать знания учащихся об объекте "Отчет", его назначении, построении с помощью конструктора схемы компоновки данных;
- познакомить учащихся с новыми настройками отчета;
- построить отчет "Анализ затраченного времени".
План занятия:
1.    знакомство со встроенными функциями работы со значениями типа: "строка", "число", "дата";
2.    знакомство с функциями преобразования значений (явное преобразование).
3.    актуализация знаний: что такое отчет, зачем он нужен, какой объект может использоваться для построения отчетов;
4.    где брать данные для отчета: каком виде их лучше сохранить в информационной базе;
5.    знакомство с объектом "Регистр накопления", создание регистра накопления "Занятость";
6.    Определение правил заполнения регистра накопления данными;
7.    Построение отчета "Моя занятость" на основе данных регистра накопления "Занятость".
Занятие №4. Создание расписания уроков
Теория: Базовые универсальные коллекции значений (массив, структура, соответствие).
Практика. Создание отчета "Диалог расписания".
Цели занятия:
- выяснить, как можно представить в памяти компьютера набор значений;
- познакомить учащихся с универсальными коллекциями значений: массивом структурой, соответствием;
- познакомить учащихся с еще одним способом построения отчета – при помощи общей формы и общего модуля;
- построить отчет "Расписание уроков" при помощи указанных выше объектов.
План занятия:
1.    представление в оперативной памяти компьютера набора значений - универсальные коллекции значений: массив, структура, соответствие;
2.    создание внешнего вида диалога расписания;
3.    создание общего модуля "Расписание" и описание вывода расписания в диалог;
4.    создание макета расписания.
Занятие №5. Программирование отчетов "Анализ трудового дня" и "Расписание"
Теория: Сложные универсальные коллекции значений (список значений, таблица значений, дерево значений).
Практика. Программирование отчетов "Моя занятость" и "Расписание".
Цели занятия:
- познакомить со сложными коллекциями значений, выяснить их структуру и назначение;
- выяснить, как применять функции, записанные в общем модуле к  отчету, созданному средствами компоновки данных.
План занятия:
1.    представление в оперативной памяти компьютера набора значений: универсальные коллекции значений: список значений, таблица значений, дерево значений.
2.    программирование отчета "Моя занятость", использование функции, сохраненной в общем модуле;
3.    программирование отчета "Диалог расписания": открытие двойным щелчком мыши документа, зарегистрировавшего урок.
Занятие №6. Планирование личного времени
Теория: Синтаксические конструкции встроенного языка: условия, циклы, переходы.
Практика. Планирование личного времени: создание диаграммы Ганта.
Цели занятия:
- актуализовать и обобщить знания о синтаксических конструкциях встроенного языка системы "1С:Предприятие": линейных алгоритмах, алгоритмах с условием, циклах, переходах;
- познакомить с новым видом диаграмм – ленточными диаграммами (диаграммами Ганта), выяснить их предназначение;
- построить отчет "Запланированные мероприятия" в виде диаграммы Ганта.
План занятия:
1.    основные конструкции встроенного языка: линейные алгоритмы, алгоритмы с условиями, алгоритмы с повторениями – циклы; безусловные переходы;
2.    назначение диаграмм, виды диаграмм;
3.    знакомство с ленточными диаграммами (диаграммами Ганта) - их основное назначение сейчас;
4.    создание отчета "Планирование личного времени".
Занятие №7. Планирование личного времени (окончание)
Теория: Синтаксические конструкции встроенного языка: процедуры и функции.
Практика. Работа с диаграммой Ганта: интервалы, связи, их построение.
Цели занятия:
- актуализировать и обобщить знания о подпрограммах – процедурах и функциях. Выяснить в чем отличие двух видов подпрограмм;
- научить пользовать встроенными шаблонами текста модулей, облегчающими написание текста алгоритмических конструкций;
- познакомить с элементами диаграммы Ганта – связями и интервалами, выяснить их предназначение;
- модернизировать отчет "Запланированные мероприятия" - создать связи между интервалами диаграммы Ганта в пределах дня;
- познакомить с интерактивной настройкой диаграммы Ганта.
План занятия:
1.    подпрограммы: процедуры и функции;
2.    настройка шаблонов текста модулей;
3.    понятие интервала и связи диаграммы Ганта, создание последовательности запланированных мероприятий с использованием этих объектов.
Занятие №8. Напоминания (начало)
Теория: Сохранение инструкций в информационной базе. Модули. Виды модулей. Структура модуля.
Практика. Разработка механизма напоминаний: регистрация напоминаний, вывод напоминаний пользователю.

Цели занятия:
- актуализировать и обобщить знания о том, как сохранить алгоритмы в информационной базе.
- познакомить учащихся со структурой модуля;
- выяснить, какие существуют типы модулей, их назначение;
- используя объект "Документ" создать механизм напоминаний пользователю о предстоящих мероприятиях.
План занятия:
1.    сохранение инструкций в информационной базе, модули;
2.    структура модуля;
3.    типы модулей, назначение каждого из них;
4.    регистрация напоминания о предстоящем мероприятии;
5.    определение алгоритма создания напоминаний;
6.    определение алгоритма вывода напоминания;
7.    отключение напоминаний.
Занятие №9. Напоминания (окончание)
Теория: Основные методы для организации интерактивной работы: методы ввода сообщений пользователю.
Практика. Оптимизация механизма напоминаний.
Цели занятия:
- познакомить с методами организации вывода сообщений пользователю: метод "Сообщить()", метод "Предупреждение()", объект "Сообщение пользователю";
- оптимизировать механизм напоминаний при помощи объекта "Сообщение пользователю".
План занятия:
1.    методы "Сообщить()" и "Предупреждение()", их назначение и синтаксис;
2.    объект "СообщениеПользователю", его назначение;
3.    организация возможности открытия документа "Мероприятие" из окна с напоминаниями;
4.    организация вывода напоминаний с новым функционалом.
Занятие №10. Мини-чат (начало)
Теория: Объект "Запрос". Создание запроса. Текст запроса: структура и синтаксис.
Практика.  Превращение информационной базы в многопользовательскую. Разработка мини-чата – создание интерфейса чата.
Цели занятия:
- актуализировать знания о табличной модели работы с данными: источниках данных, о запросе – методе получения данных из таблиц;
- познакомить с языком запросов – средством написания запроса к информационной базе;
- выяснить, какова структура запроса;
- познакомить с синтаксисом языка запросов;
- актуализировать понятия о пользователях информационной базы, о ролях пользователя;
- разработать интерфейс мини-чата – сервис общения пользователей информационной базы.
План занятия:
1.    актуализация знаний: табличная модель работы с данными, источники данных, запрос, как метод получения данных из таблиц;
2.    структура и синтаксис языка запросов: секция "ВЫБРАТЬ", секции "ИЗ" и "КАК", секция "ГДЕ", секция "УПОРЯДОЧИТЬ ПО", секция "СГРУППИРОВАТЬ ПО", секция "ИТОГИ";
3.    запросы с параметром;
4.    результат запроса, метод получения результата, методы работы с результатом запроса;
5.    актуализация знаний: пользователи и роли – превращение информационной базы в многопользовательскую;
6.    определение объекта для хранения диалогов пользователей;
7.    разработка интерфейса чата;
8.    открытие окна диалога из формы чата.
Занятие №11. Мини-чат (начало)
Теория: Конструкторы запроса: конструктор запроса и конструктор запроса с обработкой результата.
Практика. Разработка мини-чата – создание формы диалога.
Цели занятия:
- обобщить знания о построении запросов с помощью конструкторов;
- разработать форму диалога пользователей чата.
План занятия:
1.    рассмотрение конструктора запроса – анализ всех его закладок и их соответствие секциям текста запроса;
2.    настройка отображения списка сообщений на форме диалога (в режиме "1С:Предприятие");
3.    настройка отображения списка сообщений на форме диалога (в режиме Конфигуратор);
4.    установка значений отбора в списке сообщений.
Занятие №12.
Практика. Совершенствование мини-чата. Элементы ЮЗАБИЛИТИ.
Цели занятия:
- Усовершенствовать функционал чата: разработать форму сообщения, настроить автоматическое заполнение полей "Автор" и "Получатель" при просмотре или создании сообщения, улучшить форму диалога для восприятия и др.
План занятия:
1.    разработка формы записи (сообщения);
2.    настройка автоматического заполнения полей "Автор" и "Получатель" при просмотре или создании сообщения;
3.    улучшение формы диалога для восприятия;
4.    установка признака "сообщение прочитано";
5.    группировка сообщений: "прочитанные" и "непрочитанные";
6.    создание списка контактов на форме чата.


Углубленный курс по программированию в "1С:Предприятие". Модуль 3.
"Создание мобильного приложения "1С: Клуб"
Блок 1: Создание информационной базы участников  "1С:Клуб"
1.    Создание ИБ для участников "1С:Клуб"
1.1.    Каталог участников,
1.2.    каталог видов мероприятий,
1.3.    журнал заявок на мероприятия
1.4.    Создание сервисов обмена данными
1.4.1.    выгрузка видов мероприятий в мобильное приложение
1.4.2.    загрузка заявок на мероприятия в ИБ участников клуба
2.    Публикация ИБ участников клуба на Web-сервере
2.1.    Установка Web-сервера на примере Apache
2.2.    Публикация базы на web-сервере
3.    Доступ к базе через Интернет-браузер (формирование отчета о заявках на мероприятия)
Блок 2: Создание мобильного приложения "1С:Клуб".
1.    Создание базы разработки мобильного приложения
1.1.    Каталог видов мероприятий
1.2.    Журнал "Мои заявки"
2.    Настройка связи с ИБ участников
2.1.    Создание команд для обновления видов мероприятий
2.2.    Создание команды для отправки в ИБ участников заявок на мероприятия
3.    Публикация мобильного приложения на мобильном устройстве
3.1.    Установка платформы на мобильное устройство
3.2.    Публикация конфигурации мобильного приложения
3.3.    Создание мобильного приложения "1С:Клуб"

Курс проектного программирования в "1С:Предприятие". Модуль 4.
"Проект 1С"

Цели:
- получить знания по основным этапам проектной деятельности
- сформировать навыки коллективного творчества при разработке программного обеспечения (ПО)
Модель:
Есть несколько направлений деятельности:
- Услуги (такси, выращивание цветов, доставка товаров)
- Торговля (ларек, магазин, супермаркет)
- Производство (компьютеров, мебели)

Под них необходимо создать несколько решений, в которых присутствуют уникальные документы и общие для всех.
План занятий
Занятие 1. Постановка задачи (определение цели разработки)
- Разбор пакета документов, распределение работ, работа с исходными данными, определение первоначальных требований и построение сквозного примера
Занятие 2. Проектирование
- Определение архитектуры прикладных решений, распределение ролей разработчиков, распределение задач по разработке
Занятие 3. Групповая разработка
- Установка единой системы разработки, подключение рабочих мест, организация групповой разработки
Занятие 4-8. Работа над индивидуальными заданиями согласно постановке
Занятие 9. Сборка конфигураций
Занятие 10. Тестирование

- Проверка работоспособности по сквозным примерам (каждый ученик проверяет свой сквозной пример (они определялись в первом занятии)
Занятие 11. Эксплуатация
- Поставка прикладного решения и установка
Занятие 12. Сопровождение
- Выпуск и установка обновлений