Академический Документы
Профессиональный Документы
Культура Документы
Электронный аналог издания "1С:Программирование для начинающих. Детям и родителям, менеджерам и руководителям. Разработка в
системе "1С:Предприятие 8.3" (978-5-9677-2628-6, М.: ООО "1С-Паблишинг", 2017; артикул печатной книги по прайс-листу фирмы "1С":
4601546129550; по вопросам приобретения печатных изданий издательства "1С-Паблишинг" обращайтесь к партнеру "1С", обслуживающему
вашу организацию, или к другим партнерам фирмы "1С").
Средства разработки "1С:Предприятия 8" позволяют решать широкий круг задач. Книга адресована читателям,
которые совсем не знают программирования, но хотят научиться создавать собственные программы в системе
"1С:Предприятие 8". Она подойдет и школьникам 12–16 лет, и взрослым, которые хотели бы научиться
"программировать в 1С".
В книге рассматривается практический пример создания простого прикладного решения. Он позволяет освоить
базовые понятия и базовые приемы программирования, научиться использовать среду разработки (конфигуратор),
овладеть встроенным языком и языком запросов, познакомиться с устройством базы данных, приобрести навыки
отладки прикладных решений.
Книга содержит большое количество рисунков и примеров кода на встроенном языке, снабженных подробными
комментариями. Кроме этого после многих ключевых разделов даются задания для самостоятельной работы,
ответы на эти задания содержатся в конце книги.
Для создания демонстрационных примеров использована учебная версия платформы 8.3.8.1933. Для
самостоятельного выполнения этих примеров требуется доступ к Интернету, чтобы скачать (бесплатно) учебную
версию платформы и демонстрационные конфигурации.
Предисловие................................................................................................................................. 5
Благодарности................................................................................................................... 6
Как работать с книгой.................................................................................................... 6
Что вы будете уметь....................................................................................................... 7
Что вы будете делать..................................................................................................... 8
1. Начало.........................................................................................................................................10
2. Визуальное конструирование.........................................................................................57
3. Встроенный язык...............................................................................................................250
4. Автоматическое заполнение расписания................................................................ 480
5. Регистры и отчеты.............................................................................................................509
6. Язык запросов.................................................................................................................... 603
7. Планировщик....................................................................................................................... 630
8. Доработка интерфейса................................................................................................... 703
Приложение А. Полезные советы.................................................................................... 721
Приложение Б. Список понятий........................................................................................733
Приложение В. Список действий.......................................................................................741
Приложение Г. Решения заданий.....................................................................................744
3
1С:Программирование для начинающих
4
Предисловие
Это книга «про 1С» для тех, кто совсем не знает программирования.
Главное и необычное заключается в том, что эта книга научит вас думать
«как программист». Мыслить не определениями и правилами, а образами
и аналогиями. Именно таким способом вы будете знакомиться и с ком-
пьютером вообще, и с программами, и с языками, и с самой системой
«1С:Предприятие».
Обычно объясняют, что из чего состоит, какая команда что делает, какую
кнопку нужно нажать. И только через некоторое время, с опытом, вы начи-
наете понимать, как же все это «устроено на самом деле». В голове у вас
появляется какой-то образ.
В этой книге будет ровно наоборот. Вы сразу будете пытаться искать
аналогии, придумывать образы, воображать, на что из привычных вещей
это похоже. Что вы хотите сделать или где вы сейчас находитесь. А какую
именно команду написать или какую кнопку нажать, вам всегда подскажет
компьютер и «1С:Предприятие». Главное – знать, куда обратиться за подсказ-
кой. Этому вы тоже научитесь.
Все эти базовые знания пригодятся вам не только при создании программ
«1С», но и при работе в любой другой среде разработки, при использовании
любого другого языка программирования. Поэтому книга будет полезна
просто для того, чтобы «войти» в мир программирования и понимать,
«как все устроено».
5
1С:Программирование для начинающих
Б Л А ГОД А РНОС ТИ
Спасибо Егору Радченко, Ивану Бойко и Егору Бойко за тестирование глав
книги. Их отзывы и комментарии помогли улучшить эту книгу и сделать ее
более понятной.
К А К РА Б ОТАТЬ С К НИГОЙ
Если вы ничего не знаете, вы можете читать ее по порядку. Все объяснения
будут вам понятны независимо от возраста. Незнакомые действия и термины
я буду вводить постепенно. Вы не должны столкнуться с тем, что нужно
сделать что-то, о чем я еще не рассказывал.
Если вы что-то знаете, вы можете пропускать отдельные части книги. Специ-
ально для этого в начале каждой главы есть такие примечания:
Н Е Ч И Т А Й Т Е Э Т У ГЛ А В У !
Если вы:
–– знаете, что такое программа –– знаете, что такое среда исполнения;
и что такое операционная система; вы можете смело перейти к разделу
–– понимаете, чем прикладное «Как устроено "1С:Предприятие"»
программное обеспечение отличается на стр. 30.
от системного;
6
Предисловие
Это избавит вас от «унылого» чтения про очевидные вещи. Вы сможете
заняться только «крутыми» заданиями и примерами.
Но на этом пути вы можете столкнуться с тем, что я использую незнакомые
вам термины или прошу вас выполнить незнакомое действие. Тут вам помо-
гут два приложения: «Список понятий» и «Список действий». Они находятся
в конце книги. В них вы найдете то, что вам незнакомо, и номер страницы,
где об этом написано.
По ходу всей книги вы будете выполнять один большой пример, который
в конце превратится в настоящую полезную программу. Разные части этого
примера вы можете скачать и посмотреть в любой момент, для того чтобы
проверить себя, если где-то запутались или если что-то не получается.
Как это сделать, написано на странице 721.
7
1С:Программирование для начинающих
И, наконец, вы научитесь использовать еще один язык, который есть внутри
«1С:Предприятия», – язык запросов. Язык запросов «1С:Предприятия»
основан на одном из самых популярных языков работы с данными – SQL.
Поэтому последующее освоение языка SQL или его диалектов будет
для вас совсем простым.
Все, что вы будете изучать, вы будете сразу же пробовать на компьютере,
в «1С:Предприятии». В результате вы сделаете программу, прикладное реше-
ние, которая будет называться «Дневник».
8
Предисловие
9
1С:Программирование для начинающих
1. Начало
Н Е Ч И Т А Й Т Е Э Т У ГЛ А В У !
Воображение.................................................................................................................................11
Программа.....................................................................................................................................18
Как устроено «1С:Предприятие»..........................................................................................30
Зачем нужны прикладные решения «1С:Предприятия»............................................. 37
Установка......................................................................................................................................39
Скачивание дистрибутива..........................................................................................40
Установка платформы «1С:Предприятие 8»........................................................49
Как запускать «1С:Предприятие».............................................................................52
10
Начало
ВООБРА Ж ЕНИЕ
Одно упражнение понадобится вам с самого начала. Вы его хорошо знаете,
но вряд ли вы думали, что оно может иметь непосредственное отношение
к компьютерам.
Представьте, что вы стоите на лугу и смотрите вдаль (рис. 1.1). Что вы видите?
Рис. 1.1.
Лес вдалеке
Вы видите, что где-то есть лес. Где-то его нет. Какой именно там лес, густой
он или нет, не видно с такого расстояния. Единственное, что вы можете
точно сказать, что «в той стороне есть лес». И в другой стороне тоже есть
еще один лес.
Рис. 1.2.
Лес вблизи
11
1С:Программирование для начинающих
Все изменилось. Вы видите, что лес – это не сплошная зеленая масса.
Он состоит из разных деревьев. В нем есть высокие деревья, есть деревья
пониже. Есть хвойные деревья, есть лиственные. Вы можете сказать,
что справа и слева есть лиственные деревья. А в центре есть хвойные.
Однако теперь вы ничего не можете сказать про лес «вообще».
Теперь вы не можете ответить на вопросы: «А в той стороне есть лес?»,
«А в этой?» С того места, где вы находитесь, уже не видно «другие леса».
Что же произошло? Ведь лес никуда не делся. Деревья не умеют ходить.
Произошло то, что вы изменили свое положение. Вы приблизились к лесу.
И, находясь здесь, в новом месте, вы уже не можете говорить теми словами,
которыми говорили на старом месте: «лес», «луг». Зато здесь у вас появились
новые слова: «хвойные деревья», «лиственные деревья». А раньше для вас
это была одна «зеленая масса».
Рис. 1.3.
Дерево
12
Начало
Теперь, находясь в этом месте, вы можете сделать пару важных замечаний.
В самом начале вы видели лес, теперь вы в него вошли. По мере своего
движения вы видите, что предмет, понятие, которое раньше казалось вам одним
целым, на самом деле состоит из множества разных частей.
13
1С:Программирование для начинающих
Несмотря на то что все деревья разные, вам не нужно изучать каждое из них
в отдельности. Достаточно понять, как устроено одно из деревьев, а остальные
деревья, по большому счету, будут устроены точно так же.
В лес вы уже зашли, теперь забирайтесь на дерево. Когда вы окажетесь
наверху, вы увидите, что на ветках есть листья (рис. 1.4).
Рис. 1.4.
Листья на ветках
Здесь вы снова можете заметить, что «зеленая шапка», которая раньше каза-
лась вам одним целым, на самом деле состоит из отдельных листьев. А все
листья похожи друг на друга.
Если притянуть ветку к себе, то вы увидите, как выглядит один лист (рис. 1.5).
14
Начало
Рис. 1.5.
Лист
А теперь спуститесь с дерева и потом выйдите обратно на луг. Что будет
происходить? Что вы увидите?
В какой момент вы снова увидите ствол, ветви? Когда вы увидите, что лес
хвойный? Или, наоборот, лиственный? Когда вам станут видны другие рощи
и перелески?
Такое, казалось бы, простое упражнение очень поможет вам во всех даль-
нейших занятиях.
15
1С:Программирование для начинающих
Рис. 1.6.
Пункт 1
Рис. 1.7.
Пункт 2
16
Начало
Рис. 1.8.
Пункт 3
Вы ходили по морю на корабле? Вспомните, что вы видели с того
момента, когда на горизонте показался маленький кусочек суши,
до того момента, когда корабль пришвартовался в порту.
17
1С:Программирование для начинающих
ПР ОГРА ММ А
Отсюда видно, что компьютер – это просто железный ящик (или пласт-
массовая коробка), в котором что-то работает. Вы совершенно точно
не ошибетесь, если скажете, что внутри него программы. Сам по себе этот
железный или пластмассовый ящик совершенно бесполезен. Но именно
программы, которые внутри, делают его интересным и полезным для вас.
СОВЕТ
Вся эта зелень, которую вы видите, – это программы. Их много, они разные.
Сейчас вам не важно, как выглядит отдельная травинка, кустик, дерево.
Вас интересует один принципиальный вопрос.
Все эти растения не висят в воздухе. Они растут в земле, в почве.
Существует почва – значит, на ней может что-то вырасти. Нет почвы –
не будет травы, не будет и деревьев.
18
Начало
Рис. 1.9.
Лес издалека
ПРИМЕЧАНИЕ
19
1С:Программирование для начинающих
Большая часть операционной системы вам не видна. Если вы снова посмо-
трите на первую картинку (рис. 1.12), то заметите, что почву практически
не видно.
Кругом одна зелень. Но вы знаете, что почва есть. Если вы посмотрите вниз,
то обязательно увидите верхний слой почвы. Вы можете посадить в него
какой-нибудь цветок или, наоборот, выдернуть какое-то растение.
20
Начало
Рис. 1.12.
Лес вдалеке
Все эти действия позволяет вам делать операционная система. Но это лишь
небольшая, «верхняя» ее часть. Основная «масса» операционной системы
от вас скрыта, вам не видна и вам, что самое интересное, не нужна (рис. 1.13).
21
1С:Программирование для начинающих
22
Начало
23
1С:Программирование для начинающих
Специально для этого люди создают разные сорта яблонь. Есть северные
сорта яблонь. Они выдерживают сильные морозы до 40–50 градусов.
Им не требуется много солнца, они любят умеренный полив. И есть южные
сорта яблонь. Они любят много солнца, им требуется обильный полив,
и они плохо переносят морозы (рис. 1.17).
24
Начало
Наверное, вы знаете, что там есть какой-то процессор, который умеет скла-
дывать и вычитать. Там есть какой-то диск, на котором хранится информация.
У компьютера обычно есть дисплей, на который вы смотрите. Есть клавиа-
тура, на которую вы нажимаете. Есть принтер, который что-то печатает.
Есть wi-fi, который к чему-то подключается, и так далее. Всем этим «хозяй-
ством» умеет пользоваться операционная система. А прикладные программы
могут даже и не знать о том, какие «железяки» есть в компьютере.
Но как же тогда все это работает?
А очень просто. Когда вы нажимаете что-то на клавиатуре, это «что-то»
«попадает в руки» операционной системы. Операционная система тут же
обращается к прикладной программе и говорит ей:
– Смотри, пользователь набрал на клавиатуре «привет».
Программа говорит:
– Отлично, спасибо, я знаю, что с этим делать.
25
1С:Программирование для начинающих
26
Начало
Именно они скажут, когда нужно прийти в школу. Скажут, когда начинаются
уроки. Покажут, в каком классе будут проходить занятия.
27
1С:Программирование для начинающих
Слово «среда» здесь обозначает, конечно же, не день недели, а некое про-
странство, в котором что-то происходит. И подразумевается, что в другом
пространстве то же самое происходить не может.
Например, чтобы самолет летал, ему нужен воздух. По земле, или под зем-
лей, самолет летать не может. И в космосе, где нет воздуха, самолет тоже
летать не сможет. То есть для самолета среда – это воздух (рис. 1.20).
Другой пример. Корабль. Его среда – вода. В воздухе или на земле корабль
не умеет передвигаться.
28
Начало
Слово «исполняет» означает, что программа ничего не может сделать сама
по себе. Она не может мама по себе вдруг начать выполняться. Только если
«среда» запустит эту программу. Если среда выполнит ее просьбы и желания,
ее команды. Если среда передаст ей какие-то данные. Или получит от нее
какие-то данные и сохранит их до того времени, когда они понадобятся.
Это очень похоже на то, как симфонический оркестр исполняет произведе-
ние (рис. 1.21).
Теперь вы знаете много новых слов и можете сказать, что «1С:Предприятие» –
это прикладная программа, которая исполняется в среде операционной
системы. Есть разные версии «1С:Предприятия», предназначенные для разных
операционных систем.
29
1С:Программирование для начинающих
Итак, сейчас вы стоите на опушке леса. Помните второй рисунок (рис. 1.22)?
Рис. 1.22.
Лес вблизи
Здесь вам нужно разобраться с тем, что не все перед вами одинаково зеле-
ное. Вы совершенно точно видите, что в этом массиве зелени есть части,
непохожие друг на друга.
Так вот. Сейчас перед вами не какое-то «сборище» программ, а система
«1С:Предприятие». И вам нужно разобраться, что у нее внутри. Разобраться
по большому счету, не вдаваясь в подробности.
Тут есть особенность. Деревья чаще всего растут сами по себе, но иногда
их выращивает человек. А программы сами по себе не растут никогда.
Их всегда «выращивает» человек. Чтобы понять, как «выращивать» про-
граммы, вспомните, как люди выращивают растения: деревья, овощи, цветы.
Первое время, пока растения не окрепли, люди содержат их в специальной
почве, в специальном помещении. Обычно такое помещение называется
теплицей.
30
Начало
Это может быть маленькая теплица, как у вас на даче (рис. 1.24).
Размеры сейчас не имеют значения, вам важен лишь принцип. Прежде чем
растения начнут приносить пользу, люди выращивают их в специальных
условиях при нужной температуре, с нужным режимом полива и так далее.
31
1С:Программирование для начинающих
Такие деревья не смогут расти где угодно. Для них нужна не обычная,
а специальным образом подготовленная почва. Для этого люди делают
грядки, посадочные ямы. И когда деревья готовы к самостоятельной жизни,
люди высаживают их в эту специально подготовленную почву.
32
Начало
33
1С:Программирование для начинающих
Ну и для того, чтобы мой рисунок был полностью закончен, вспомните, что
вы выяснили в конце предыдущего раздела. А выяснили вы то, что «1С:Пред-
приятие» – это прикладная программа, которая исполняется в среде
операционной системы.
Это значит, что весь сад, называемый «1С:Предприятие», не висит в воздухе,
а находится на земле, покоится на основании, которое называется операци-
онной системой (рис. 1.29).
34
Начало
Чем эта картинка полезна для вас? На ней хорошо видно следующее: чтобы
воспользоваться прикладным решением «1С:Предприятия» (например «1С:Бух-
галтерией»), нужно сначала запустить платформу «1С:Предприятие», а потом
уже, находясь внутри платформы, запустить прикладное решение.
Наверняка вы уже подумали о том, что это очень сложная конструкция.
Ведь как вы работаете с другими программами? Вы берете дистрибутив
программы и запускаете его. Компьютер что-то делает, устанавливает про-
грамму, и после этого вы сразу можете пользоваться программой. Другими
словами, вы берете саженец и сажаете его в землю (рис. 1.30).
Оказывается, тут тоже все очень просто. Когда вы покупаете любую про-
грамму «1С:Предприятия», вы сразу же получаете все необходимое. И после
установки этой программы у вас на компьютере автоматически получается
вот такой сад (рис. 1.31).
35
1С:Программирование для начинающих
36
Начало
Чтобы ответить на этот вопрос, вам понадобится «зайти» внутрь системы
«1С:Предприятие». Вспомните прогулку, с которой начинается эта книга. Сей-
час вы зашли в лес и видите перед собой много разных деревьев (рис. 1.32).
А если вспомнить сад, то вам нужно понять, какие деревья растут в вашем
саду (рис. 1.33). Яблони? Груши? А может быть, кокосовые пальмы?
37
1С:Программирование для начинающих
Одним или двумя словами трудно объяснить, для каких задач хороши
программы «1С:Предприятия». Поэтому я расскажу про некоторые области
деятельности, для которых они подходят.
Например, вы печете хлеб. Вы берете муку, дрожжи, соль, воду, и у вас
получается сколько-то буханок хлеба. Тогда «1С:Предприятие» поможет вам
запомнить, кто из ваших покупателей на какой день сколько хлеба заказал.
Сколько хлеба вы можете еще выпечь из тех запасов, которые у вас есть.
Когда и сколько нужно закупить муки и дрожжей, чтобы ваши покупатели
не остались без хлеба.
38
Начало
УС ТА НОВК А
СОВЕТ
39