Книга "1С:Программирование для начинающих. Детям и родителям, менеджерам и руководителям. Разработка в системе "1С:Предприятие 8.3" адресована читателям, которые совсем не знают программирования, но хотят научиться создавать собственные программы в системе "1С:Предприятие 8". Она подойдет и школьникам 12–16 лет, и взрослым, которые хотели бы научиться "программировать в 1С".
В книге рассматривается практический пример создания простого прикладного решения. Он позволяет освоить базовые понятия и базовые приемы программирования, научиться использовать среду разработки (конфигуратор), овладеть встроенным языком и языком запросов, познакомиться с устройством базы данных, приобрести навыки отладки прикладных решений.
Книга содержит большое количество цветных рисунков и примеров кода на встроенном языке, снабженных подробными комментариями. Кроме этого после многих ключевых разделов даются задания для самостоятельной работы. Ответы на эти задания содержатся в конце книги.
Для создания демонстрационных примеров использована учебная версия платформы 8.3.8.1933. Для самостоятельного выполнения примеров требуется доступ к Интернету, чтобы скачать (бесплатно) учебную версию платформы и демонстрационные конфигурации.
Информация о книге, в том числе подробное оглавление - https://buh.ru/books/detail.php?ID=51780.
Author(s): Радченко М.Г.
Publisher: 1С-Паблишинг
Year: 2017
Language: Russian
Pages: 590
Выходные данные 1
Предисловие 2
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Как работать с книгой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Что вы будете уметь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Что вы будете делать . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1 Начало 5
1.1 Воображение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Программа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Как устроено 1С:Предприятие . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Зачем нужны прикладные решения 1С:Предприятия . . . . . . . . . . . . . . 23
1.5 Установка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5.1 Скачивание дистрибутива . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5.2 Установка платформы 1С:Предприятие 8 . . . . . . . . . . . . . . . . 31
1.5.3 Как запускать 1С:Предприятие . . . . . . . . . . . . . . . . . . . . . . 33
2 Визуальное конструирование 37
2.1 С чего начинается прикладное решение . . . . . . . . . . . . . . . . . . . . . . 37
2.2 Список информационных баз . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.3 Конфигурация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4 Дерево объектов конфигурации . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5 Какие объекты конфигурации можно добавлять . . . . . . . . . . . . . . . . 52
2.6 Красота, или какой объект выбрать . . . . . . . . . . . . . . . . . . . . . . . . 53
2.7 Данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.8 Справочник . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.9 Кабинеты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.9.1 Информационная база . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.9.2 Режим отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.9.3 Добавление данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.9.4 Объект данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.9.5 Объект конфигурации описывает, как будут выглядеть его данные . . 80
2.9.6 Интерфейс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.9.7 Что такое формы? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.9.8 Представления объекта конфигурации в интерфейсе . . . . . . . . . . 91
2.9.9 Наименование и код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.10 Учителя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.11 Предметы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.11.1 Реквизиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2.11.2 Командный интерфейс раздела . . . . . . . . . . . . . . . . . . . . . . 115
2.11.3 Ввод по строке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
2.12 Документ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2.13 Учебные дни . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
2.14 Редактирование форм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
2.14.1 Добавление формы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2.14.2 Редактор формы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
2.14.3 Изменение формы списка . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.14.4 Изменение формы объекта . . . . . . . . . . . . . . . . . . . . . . . . . 165
3 Встроенный язык 182
3.1 Ваша первая программа — заголовок приложения . . . . . . . . . . . . . . . 183
3.2 События . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
3.3 Модули . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
3.4 Встроенный язык . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
3.5 Значение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
3.6 Тип . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
3.7 Представление . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
3.8 Где писать примеры и чем пользоваться . . . . . . . . . . . . . . . . . . . . . 194
3.9 Простые типы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
3.9.1 Почему текст разноцветный . . . . . . . . . . . . . . . . . . . . . . . . 194
3.9.2 Какие бывают инструкции . . . . . . . . . . . . . . . . . . . . . . . . . 197
3.9.3 Инструкция присваивания . . . . . . . . . . . . . . . . . . . . . . . . . 197
3.9.4 Переменная . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
3.9.5 Точки останова и просмотр значений . . . . . . . . . . . . . . . . . . . 201
3.9.6 Изменение значений переменных . . . . . . . . . . . . . . . . . . . . . 207
3.9.7 Контекстная подсказка . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
3.9.8 Выбор имени для переменной . . . . . . . . . . . . . . . . . . . . . . . 212
3.9.9 Выражение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
3.9.10 Арифметические операции . . . . . . . . . . . . . . . . . . . . . . . . . 218
3.9.11 Операции со строками . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
3.9.12 Тип Дата и операции с датами . . . . . . . . . . . . . . . . . . . . . . . 221
3.9.13 Тип Булево и логические операции . . . . . . . . . . . . . . . . . . . . 230
3.9.14 Булевы операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
3.9.15 Инструкция Если . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
3.9.16 Красивая программа . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
3.9.17 Инструкция Цикл . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
3.9.18 Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
3.9.19 Контекст и область видимости . . . . . . . . . . . . . . . . . . . . . . . 264
3.9.20 Процедуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
3.9.21 Чтение и отладка процедур и функций . . . . . . . . . . . . . . . . . . 274
3.10 Коллекции значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
3.10.1 Объекты встроенного языка . . . . . . . . . . . . . . . . . . . . . . . . 278
3.10.2 Методы, конструкторы . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
3.10.3 Массив . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
3.10.4 Обрабатывайте ошибочные ситуации . . . . . . . . . . . . . . . . . . . 290
3.10.5 Используйте операцию [...] . . . . . . . . . . . . . . . . . . . . . . . 293
3.10.6 Используйте инструкцию Для Каждого Цикл . . . . . . . . . . . . . . 294
3.10.7 Удаляйте элементы с конца . . . . . . . . . . . . . . . . . . . . . . . . 297
3.10.8 Структура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
3.11 Прикладные типы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
3.11.1 База данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
3.11.2 Клиент и сервер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
3.11.3 Прикладные типы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
3.11.4 Объектные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
3.11.5 Как устроен документ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
3.11.6 Номер документа УчебныйДень . . . . . . . . . . . . . . . . . . . . . . 336
3.11.7 События объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3.11.8 Установка номера для новых документов . . . . . . . . . . . . . . . . . 346
4 Автоматическое заполнение расписания 351
5 Регистры и отчёты 373
5.1 Зачем нужны регистры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
5.2 Что будет в этой главе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
5.3 Регистр сведений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
5.3.1 Регистр сведений Оценки . . . . . . . . . . . . . . . . . . . . . . . . . . 378
5.3.2 Процедура проведения документов . . . . . . . . . . . . . . . . . . . . 380
5.3.3 Заполнение регистра данными . . . . . . . . . . . . . . . . . . . . . . . 385
5.3.4 Хранение данных в таблицах . . . . . . . . . . . . . . . . . . . . . . . . 386
5.3.5 Устройство регистра сведений . . . . . . . . . . . . . . . . . . . . . . . 389
5.3.6 Оперативное проведение . . . . . . . . . . . . . . . . . . . . . . . . . . 394
5.3.7 Отчёт Успеваемость . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
5.4 Регистр накопления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
5.4.1 Регистр накопления ПрошедшиеЗанятия . . . . . . . . . . . . . . . . . 415
5.4.2 Отчёт ПрошедшиеЗанятия . . . . . . . . . . . . . . . . . . . . . . . . . 420
5.5 Работа с регистрами из встроенного языка . . . . . . . . . . . . . . . . . . . . 432
5.5.1 Необъектные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
5.5.2 Регистр сведений ДомашниеЗадания . . . . . . . . . . . . . . . . . . . 434
5.5.3 Запись в регистр ДомашниеЗадания . . . . . . . . . . . . . . . . . . . 436
5.5.4 Работа с регистрами в модуле документа . . . . . . . . . . . . . . . . . 445
6 Язык запросов 449
6.1 Чем язык запросов отличается от встроенного языка . . . . . . . . . . . . . . 450
6.2 Хранение объектных данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
6.3 Таблицы запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
6.4 Консоль запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
6.5 Текст запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
7 Планировщик 472
7.1 Планировщик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
7.2 Создание формы и размещение в ней планировщика . . . . . . . . . . . . . . 474
7.3 События формы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
7.4 Получение данных из базы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
7.5 Настройка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
7.6 Перехват событий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
7.7 Отображение будних дней . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
7.8 Отметки оценок и домашние задания . . . . . . . . . . . . . . . . . . . . . . . 513
7.9 Обновление данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
8 Доработка интерфейса 529
8.1 Список домашних заданий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
8.2 Начальная страница . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
8.3 Командный интерфейс основного раздела . . . . . . . . . . . . . . . . . . . . 540
А Полезные советы 543
А.1 Как подключить демонстрационную базу . . . . . . . . . . . . . . . . . . . . 543
А.2 Как прочитать сообщение об ошибке . . . . . . . . . . . . . . . . . . . . . . . 544
А.3 Как сделать копию рабочей базы . . . . . . . . . . . . . . . . . . . . . . . . . 549
Б Решения заданий 553
Б.1 Решение 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Б.2 Решение 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Б.3 Решение 1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Б.4 Решение 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Б.5 Решение 2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Б.6 Решение 3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Б.7 Решение 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Б.8 Решение 3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Б.9 Решение 3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Б.10 Решение 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Б.11 Решение 3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Б.12 Решение 3.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Б.13 Решение 3.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Б.14 Решение 3.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Б.15 Решение 3.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Б.16 Решение 3.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Б.17 Решение 3.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Б.18 Решение 3.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Б.19 Решение 3.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Б.20 Решение 3.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Б.21 Решение 3.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Б.22 Решение 3.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Б.23 Решение 3.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Б.24 Решение 3.19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Б.25 Решение 3.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Б.26 Решение 3.21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Б.27 Решение 3.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Б.28 Решение 3.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
Б.29 Решение 3.24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Б.30 Решение 3.25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Б.31 Решение 3.26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Б.32 Решение 3.27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Б.33 Решение 3.28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Б.34 Решение 3.29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Б.35 Решение 3.30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Б.36 Решение 3.31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Б.37 Решение 3.32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Б.38 Решение 3.33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Б.39 Решение 3.34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Б.40 Решение 3.35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Б.41 Решение 3.36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Б.42 Решение 3.37 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Б.43 Решение 3.38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Б.44 Решение 3.39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Б.45 Решение 3.40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Б.46 Решение 3.41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Б.47 Решение 3.42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Б.48 Решение 3.43 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Б.49 Решение 3.44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Б.50 Решение 3.45 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Б.51 Решение 3.46 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Б.52 Решение 3.47 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Б.53 Решение 3.48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Б.54 Решение 3.49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Б.55 Решение 3.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
Б.56 Решение 3.51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Б.57 Решение 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Б.58 Решение 5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Б.59 Решение 5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Б.60 Решение 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Б.61 Решение 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Б.62 Решение 6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Б.63 Решение 6.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Б.64 Решение 7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
В Указатель понятий 578
Г Указатель действий 582