Путь в разработку на 1С:Предприятии 8.3: от учебной платформы до экзамена «Специалист»
Содержание
Изучить программирование 1С с нуля реально за 4–6 месяцев при занятиях по 1–2 часа в день. Порядок такой: ставите бесплатную учебную версию платформы 1С:Предприятие 8.3, собираете свою маленькую конфигурацию в Конфигураторе, учите встроенный язык и язык запросов, осваиваете отладчик и сдаёте тест «1С:Профессионал». Дальше — практика на типовых конфигурациях и экзамен «1С:Специалист».
Типичная история: бухгалтер пять лет работает в 1С:Бухгалтерии, каждый месяц ждёт программиста ради одной печатной формы и однажды решает сделать её сам. Опыт пользователя здесь сильный козырь. Вы уже знаете, что такое документ, проводка и остаток, осталось понять, как это устроено изнутри.
Рабочее место для изучения 1С: что установить
Для старта не нужны ни сервер, ни лицензия, ни мощный компьютер. Хватит обычного ноутбука с Windows и 8 ГБ оперативной памяти.
Учебная версия платформы
Фирма 1С бесплатно раздаёт учебную версию платформы 1С:Предприятие 8.3. Её дают в комплекте с учебными книгами и на сайте фирмы в разделе для обучающихся. Она запускается без ключа защиты и подходит для всех упражнений начального и среднего уровня.
У учебной версии есть ограничения по объёму данных и ряду функций. Для учебных баз они не мешают, а вот вести в ней реальный учёт компании не получится. Это не обход лицензии, а отдельный легальный продукт.
Порядок установки
- Скачайте дистрибутив учебной версии и распакуйте архив.
- Запустите
setup.exeи оставьте компоненты по умолчанию: «1С:Предприятие» и «Конфигуратор» нужны обязательно. - После установки откройте ярлык 1С:Предприятие — появится окно списка информационных баз.
- Нажмите
Добавить→Создание новой информационной базы→Создание информационной базы без конфигурации. - Выберите вариант «На данном компьютере», укажите пустую папку, например
C:\1C_Learn\Base1. - В окне запуска нажмите
Конфигуратор, затем в менюКонфигурация → Открыть конфигурацию. Слева появится пустое дерево метаданных.
Держите учебные базы в отдельной папке и делайте выгрузку .dt перед каждым крупным экспериментом: Администрирование → Выгрузить информационную базу в Конфигураторе. Вернуться к рабочему состоянию — пара минут.
Конфигуратор или EDT
| Среда | Когда выбирать | Особенности |
|---|---|---|
| Конфигуратор | Первые месяцы обучения, любые типовые доработки | Входит в платформу, на нём построены почти все учебники и экзамены |
| 1С:EDT (Enterprise Development Tools) | Командная разработка, Git, крупные проекты | Среда на базе Eclipse, требовательна к памяти, порог входа выше |
Новичку начинать стоит с Конфигуратора. Экзамен «1С:Специалист» сдают в нём же, а EDT пригодится позже, когда придёте в команду с репозиторием.
Как устроена платформа: метаданные — первое, что нужно изучить в 1С
Главное отличие 1С от «обычного» программирования: вы почти не пишете код ради структуры данных. Таблицы базы, формы и права создаются через дерево метаданных. Код нужен для логики — проверок, расчётов, проведения документов.
Основные объекты конфигурации
- 📚 Справочники — списки однотипных элементов: номенклатура, контрагенты, сотрудники.
- 📄 Документы — события с датой: поступление, реализация, оплата. Документ «проводится» и делает движения по регистрам.
- 📊 Регистры накопления — количество и суммы, которые растут и убывают: остатки товаров, взаиморасчёты.
- 🗂 Регистры сведений — значения с привязкой к набору измерений и, при необходимости, к дате: цены, курсы валют.
- 🧾 Планы счетов и регистры бухгалтерии — основа бухгалтерского учёта с проводками Дт/Кт.
- 🔢 Константы и Перечисления — одиночные настройки и фиксированные списки значений.
- 🖨 Отчёты и обработки — вывод данных и сервисные операции.
- 🔐 Роли и Подсистемы — права доступа и разделы командного интерфейса.
- ⚙️ Общие модули — код, который вызывается из разных мест.
Первое упражнение на метаданных
Классическая учебная задача — склад. Создайте:
- Справочник
Номенклатурас реквизитомЦена(тип «Число»). - Справочник
Склады. - Регистр накопления
ОстаткиТовароввида «Остатки» с измерениямиНоменклатура,Склади ресурсомКоличество. - Документы
ПриходТовараиРасходТоварас табличной частьюТовары.
Откройте документ, на вкладке «Движения» отметьте регистр ОстаткиТоваров и нажмите кнопку «Конструктор движений». Он сгенерирует обработчик ОбработкаПроведения. Запустите отладку клавишей F5, введите приход и проверьте остатки. Так за один вечер вы увидите полный путь данных: документ → движения → регистр.
Встроенный язык 1С: синтаксис и модули
Язык 1С похож на Pascal и Visual Basic, только с русскими ключевыми словами. Английские аналоги тоже работают, но в типовых конфигурациях и на экзаменах пишут по-русски.
Базовые конструкции
Функция СуммаСоСкидкой(Сумма, ПроцентСкидки) Экспорт
Если ПроцентСкидки < 0 Или ПроцентСкидки > 100 Тогда
ВызватьИсключение "Скидка должна быть от 0 до 100%";
КонецЕсли;
Возврат Окр(Сумма * (100 - ПроцентСкидки) / 100, 2);
КонецФункции
Процедура ВывестиСписок()
Массив = Новый Массив;
Массив.Добавить("Стол");
Массив.Добавить("Стул");
Для Каждого Элемент Из Массив Цикл
Сообщить(Элемент);
КонецЦикла;
Для Сч = 1 По 3 Цикл
Сообщить("Строка " + Формат(Сч, "ЧГ=0"));
КонецЦикла;
КонецПроцедуры
Проверка в уме: СуммаСоСкидкой(1000, 15) вернёт 850, а ВывестиСписок() выведет «Стол», «Стул» и три строки с номерами.
Универсальные коллекции
Без них не обходится ни одна доработка. Выучите четыре:
Массив— упорядоченный список значений.Структура— пары «ключ — значение» с доступом по имени:Параметры.Организация.Соответствие— то же, но ключом может быть любое значение, например ссылка на справочник.ТаблицаЗначений— таблица в памяти с колонками, сортировкой и группировкой (Свернуть).
Модули и директивы компиляции
Код живёт в модулях, и у каждого своя роль:
| Модуль | Что в нём пишут |
|---|---|
| Модуль объекта | Обработчики ПередЗаписью, ОбработкаПроведения, ОбработкаПроверкиЗаполнения |
| Модуль менеджера | Функции, которые работают с объектом в целом, без конкретного элемента |
| Модуль формы | Реакция на кнопки и поля формы |
| Общий модуль | Переиспользуемые процедуры для всей конфигурации |
В модуле формы перед каждой процедурой стоит директива: &НаКлиенте, &НаСервере или &НаСервереБезКонтекста. Понять разницу между клиентом и сервером — главный барьер новичка. На клиенте нет доступа к базе данных, туда нельзя передать объект справочника, только простые значения и ссылки. Каждый вызов сервера с клиента — это обмен по сети, поэтому вызовы стоит объединять, а не делать в цикле.
Запросы в 1С: как выбирать данные из базы
Отчёты, проверки остатков, заполнение табличных частей — всё это запросы. Язык запросов 1С построен на SQL, но обращается к объектам метаданных, а не к физическим таблицам.
Шаблон запроса
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.КоличествоОстаток КАК Остаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(&Дата, Склад = &Склад) КАК Остатки
|ГДЕ
| Остатки.КоличествоОстаток > 0
|УПОРЯДОЧИТЬ ПО
| Номенклатура";
Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("Склад", Склад);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Строка(Выборка.Номенклатура) + ": " + Формат(Выборка.Остаток, "ЧГ=0"));
КонецЦикла;
Смотрите на условие Склад = &Склад в параметрах виртуальной таблицы. Отбор там срабатывает до расчёта остатков и работает быстрее, чем такое же условие в ГДЕ.
Что освоить по запросам
- Конструктор запроса — правой кнопкой в модуле →
Конструктор запроса. Сначала собирайте запросы им, потом читайте получившийся текст. - Виртуальные таблицы регистров:
Остатки,Обороты,ОстаткиИОбороты,СрезПоследниху периодических регистров сведений. - Соединения
ЛЕВОЕ СОЕДИНЕНИЕиВНУТРЕННЕЕ СОЕДИНЕНИЕ, группировкаСГРУППИРОВАТЬ ПО, агрегатные функцииСУММА,КОЛИЧЕСТВО. - Временные таблицы и пакетные запросы —
ПОМЕСТИТЬиМенеджерВременныхТаблиц. - Система компоновки данных (СКД) — на ней сделаны почти все отчёты типовых конфигураций.
Самая частая ошибка новичка — запрос внутри цикла по строкам. На 10 строках это незаметно, на 10 000 документ проводится минутами. Соберите данные одним запросом и ищите в результате через ТаблицаЗначений.Найти или соединение.
Консоль запросов
Для тренировки нужна внешняя обработка «Консоль запросов». Она есть на диске ИТС и во многих сборках инструментов разработчика. Открывается через Файл → Открыть в режиме 1С:Предприятие. В ней удобно проверять запрос до того, как вставлять его в код.
Отладка кода: как находить ошибки
Писать без ошибок не умеет никто. Умение быстро найти причину ценится выше, чем скорость набора кода.
Горячие клавиши отладчика в Конфигураторе
| Действие | Клавиша |
|---|---|
| Запуск в режиме отладки | F5 |
| Поставить или снять точку останова | F9 |
| Шаг с заходом в процедуру | F11 |
| Шаг без захода | F10 |
| Выйти из текущей процедуры | Shift+F11 |
| Вычислить выражение | Shift+F9 |
Приёмы, которые используют каждый день
- 🔴 Точка останова с условием — правой кнопкой по точке → условие, например
Выборка.Номенклатура.Код = "00-001". Отладчик остановится только на нужной строке из тысячи. - 👁 Табло — окно, куда выносят переменные, чтобы видеть их значения на каждом шаге.
- ⏱ Замер производительности — меню
Отладка → Замер производительности. Показывает, какие строки кода съели больше всего времени. - 🧪 Синтаксический контроль —
Ctrl+F7в модуле или проверка всей конфигурации черезКонфигурация → Проверка конфигурации. - 📜 Сообщения об ошибках — текст вида
{ОбщийМодуль.ИмяМодуля.Модуль(25)}: Поле объекта не обнаруженоуже указывает модуль и номер строки. Двойной клик по сообщению переносит в нужное место.
В файловой учебной базе отладка работает сразу. В клиент-серверном варианте отладку серверного кода нужно разрешить: администратор запускает службу агента сервера с ключом -debug. Перезапуск службы обрывает сеансы всех пользователей, поэтому на рабочем сервере это делают вне рабочего времени.
Какой учебный план выбрать: курсы, книги или самостоятельно
Путей три, и они хорошо сочетаются.
| Путь | Ориентировочная стоимость | Плюсы | Минусы |
|---|---|---|---|
| Книги и учебная версия | 2–5 тыс. ₽ | Дёшево, свой темп | Нет обратной связи, легко застрять |
| Онлайн-курсы с проверкой домашних заданий | 20–80 тыс. ₽ | Наставник, структура, сроки | Качество сильно различается |
| Очные курсы учебных центров 1С | 15–40 тыс. ₽ за курс | Официальная программа, сертификат о курсе | Привязка к расписанию |
Цены примерные, они зависят от города и школы.
Из книг для старта подходят «1С:Предприятие 8.3. Практическое пособие разработчика» (М. Радченко, Е. Хрусталёва) — она проводит через сквозной пример конфигурации от пустой базы до отчётов. Следом — «Язык запросов 1С:Предприятия 8» тех же авторов и «101 совет начинающим разработчикам в 1С».
- недели 1–4Учебная платформа, метаданные, первая конфигурация «склад»
- недели 5–9Встроенный язык, коллекции, клиент и сервер
- недели 10–15Запросы, виртуальные таблицы, СКД
- недели 16–20Отладка, разбор типовой БП 3.0 на демобазе
- недели 21–24Подготовка и сдача теста «1С:Профессионал» по платформе
Чем заниматься после учебной конфигурации
Своя конфигурация учит механизмам, но работать вы будете в типовых: Бухгалтерии предприятия 3.0, ЗУП 3.1, Управлении торговлей 11. Возьмите демобазу любой из них и разберите, как устроен знакомый документ. Найдите его в дереве метаданных, откройте модуль объекта, поставьте точку останова в ОбработкаПроведения и пройдите проведение по шагам.
Следующий шаг — доработка без снятия с поддержки. Для этого есть расширения конфигурации (появились в платформе 8.3.6). В расширение добавляют свои реквизиты, формы, отчёты и перехват процедур типового кода. Типовая конфигурация при этом спокойно обновляется. Сегодня большинство заказов на доработку делают именно расширениями, поэтому освоить их нужно до первого собеседования.
Полезно также прочитать стандарты разработки 1С — свод правил оформления кода, именования и работы с формами. По ним проверяют код и на экзамене, и на код-ревью в командах.
Сертификация 1С и рост: от стажёра до эксперта
Сертификаты фирмы 1С — понятный работодателю показатель уровня. Сдают их в центрах сертификации, список есть на сайте фирмы.
Ступени
- 1С:Профессионал по платформе — компьютерный тест на время с вопросами по механизмам платформы. Первая цель новичка. Для подготовки фирма выпускает официальный сборник тестовых вопросов.
- 1С:Профессионал по конфигурации (БП, ЗУП, УТ) — тот же формат, но по прикладному решению. Полезен, если идёте во внедрение.
- 1С:Специалист по платформе — практический экзамен: за несколько часов нужно реализовать задачу в Конфигураторе и устно защитить решение перед экзаменатором. Без «Специалиста» в серьёзные проекты берут неохотно.
- 1С:Специалист-консультант — для тех, кто внедряет и настраивает типовые конфигурации.
- 1С:Эксперт по технологическим вопросам — производительность, блокировки, крупные внедрения. Верхняя ступень.
Куда расти
- 👨💻 Программист в франчайзи — много разных клиентов и задач, быстрая практика.
- 🏢 Штатный программист компании — одна база, глубокое понимание бизнеса.
- 🧭 Консультант-аналитик — ближе к учёту, меньше кода. Хороший путь для бывших бухгалтеров.
- 🧱 Архитектор и эксперт — большие системы на 1С:ERP, нагрузка, интеграции.
Ориентировочный доход по рынку: стажёр и младший разработчик — 60–100 тыс. ₽ в месяц, разработчик со «Специалистом» и 2–3 годами опыта — 150–250 тыс. ₽, ведущие разработчики и эксперты — от 250 тыс. ₽. Разброс по регионам большой, в Москве и на удалёнке у столичных компаний цифры выше.
Типичные ошибки при изучении 1С
- ❌ Учить только язык без метаданных. Код в 1С вторичен. Кто не понимает, чем регистр сведений отличается от регистра накопления, напишет правильный код в неправильном месте.
- ❌ Пропускать клиент-серверную модель. Ошибки вида
Метод объекта не обнаруженв модуле формы почти всегда означают, что серверный метод вызывают на клиенте. - ❌ Править типовую конфигурацию напрямую. После снятия с поддержки каждое обновление превращается в долгое ручное сравнение. Учитесь сразу на расширениях.
- ❌ Копировать код с форумов без понимания. Чужой фрагмент часто написан под другую конфигурацию или платформу 8.2 с обычными формами. В управляемых формах он не заработает.
- ❌ Бояться заглянуть в типовой код. Типовые конфигурации — лучший бесплатный учебник: там есть решения почти для любой задачи.