Путь в разработчики 1С: что учить, в каком порядке и как проверить себя
Содержание
Освоить программирование 1С с нуля реально за 4–6 месяцев регулярных занятий: поставьте бесплатную учебную версию платформы 8.3, соберите в Конфигураторе свою маленькую конфигурацию (справочники, документ, регистр накопления, отчёт) и параллельно учите встроенный язык и запросы. После этого — экзамен «1С:Профессионал» по платформе и первые задачи на реальных базах.
Типичная история: бухгалтер пять лет работает в 1С:Бухгалтерии, знает её лучше штатного программиста и однажды решает сам поправить печатную форму. Открывает Конфигуратор — и видит дерево из сотен объектов. Ниже — порядок, в котором эту систему проще всего разобрать, и то, что действительно спрашивают на собеседованиях.
С чего начать обучение: платформа и среда разработки
Учиться стоит сразу на платформе 8.3 с управляемыми формами. Обычные формы и 7.7 нужны только для поддержки старых баз, начинать с них нет смысла: новые конфигурации на них не пишут.
Учебная версия платформы
Фирма 1С распространяет учебную версию платформы бесплатно. В ней есть и режим «1С:Предприятие», и Конфигуратор — всё, что нужно для практики.
Ограничения, о которых стоит знать заранее:
- 🔹 работает только файловый вариант базы, без сервера 1С;
- 🔹 ограничен объём данных в таблицах, для учебных примеров его хватает;
- 🔹 часть технологий (внешние соединения, веб-публикация) недоступна или урезана.
Для обучения этого достаточно. Для коммерческой работы нужна обычная лицензия — её предоставляет работодатель или клиент.
Конфигуратор или EDT
| Среда | Плюсы | Минусы | Кому подходит |
|---|---|---|---|
| Конфигуратор | Входит в платформу, лёгкий, все учебники на нём | Слабая работа с Git, простой редактор | Новичку на первые месяцы |
| 1С:EDT | Работа с Git, рефакторинг, проверки кода, удобная навигация | Требует много памяти (от 8–16 ГБ ОЗУ комфортно), сложнее в настройке | Командной разработке, после освоения основ |
Начните с Конфигуратора. Через 2–3 месяца откройте свой учебный проект в EDT: к этому моменту вы уже будете понимать, что именно делает среда, и не утонете в её настройках.
Первая база
- Установите учебную платформу.
- В окне запуска нажмите
Добавить→Создание новой информационной базы→Создание информационной базы без конфигурации. - Откройте базу кнопкой
Конфигуратор, затем в менюКонфигурация→Открыть конфигурацию. - Добавьте первый справочник и запустите базу клавишей
F5— программа предложит обновить конфигурацию базы данных.
Через 10 минут у вас будет работающая программа из одного справочника. Это и есть отправная точка.
Устройство конфигурации: объекты метаданных
Программист 1С не создаёт таблицы базы данных руками. Он описывает объекты метаданных, а платформа сама строит под них таблицы, формы по умолчанию и права.
Основные объекты, которые нужно понять в первую очередь:
| Объект | Что хранит | Пример |
|---|---|---|
| Константа | Одно значение на всю базу | Основная организация |
| Справочник | Списки условно-постоянной информации | Номенклатура, Контрагенты |
| Перечисление | Фиксированный набор значений, задаётся в Конфигураторе | Виды оплат |
| Документ | Факт хозяйственной операции с датой | Поступление товаров |
| Регистр сведений | Значения в разрезе измерений, часто по датам | Курсы валют, цены |
| Регистр накопления | Остатки и обороты | Товары на складах |
| Регистр бухгалтерии | Проводки по плану счетов | Хозрасчётный |
| Отчёт, обработка | Вывод данных и сервисные действия | Ведомость, загрузка из Excel |
| Общий модуль | Процедуры, доступные из разных мест | Работа с файлами |
Главная идея, которую надо понять на старте: документ сам по себе остатки не меняет. При проведении он записывает движения в регистры, а отчёты читают уже регистры. Цепочка «документ → проведение → движения регистра → отчёт» — основа всех типовых конфигураций.
Учебный проект
Соберите мини-склад:
- Справочники
НоменклатураиСклады. - Документы
ПриходнаяНакладнаяиРасходнаяНакладнаяс табличной частью «Товары». - Регистр накопления
ОстаткиТоваров(вид — остатки, измерения: номенклатура, склад; ресурс: количество). - Отчёт по остаткам на системе компоновки данных.
Конструктор движений (кнопка в форме документа на закладке Движения) сгенерирует обработку проведения. Сначала используйте его, потом перепишите тот же код руками — так вы поймёте, что он делает.
Встроенный язык 1С и запросы: как писать код
Язык 1С — процедурный, с русскими ключевыми словами (есть и английские аналоги). Синтаксис осваивается за 2–3 недели, если уже программировали на чём-то другом, и за месяц-полтора с нуля.
Что изучить по порядку:
- 📌 переменные, типы (Число, Строка, Дата, Булево, Неопределено, ссылки);
- 📌 условия
Если … ИначеЕсли … КонецЕсли, циклыДля,Для Каждого,Пока; - 📌 процедуры и функции, параметры по значению (
Знач) и по ссылке; - 📌 универсальные коллекции:
Массив,Структура,Соответствие,ТаблицаЗначений; - 📌 обработка исключений
Попытка … Исключение … КонецПопытки; - 📌 язык запросов:
ВЫБРАТЬ,ГДЕ,СГРУППИРОВАТЬ ПО, соединения, временные таблицы, виртуальные таблицы регистров (Остатки,Обороты).
Запросы важнее циклов
Новичок часто перебирает справочник циклом и обращается к реквизитам через точку. На тысяче элементов это работает, на ста тысячах — тормозит. Данные из базы нужно получать запросом.
Пример: команда формы выводит список непомеченных на удаление товаров.
&НаКлиенте
Процедура ВывестиТовары(Команда)
ВывестиТоварыНаСервере();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ВывестиТоварыНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| Наименование";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;
КонецПроцедуры
Тексты запросов не обязательно писать вручную: в модуле нажмите правой кнопкой мыши → Конструктор запроса. Но читать и править готовый текст без конструктора нужно уметь — на собеседовании это проверяют первым делом.
Не пишите запросы внутри цикла. Запрос на каждой итерации — самая частая причина медленного проведения документов.
Управляемые формы и интерфейс: клиент и сервер
Здесь спотыкается большинство начинающих. Код формы выполняется в двух местах: на клиенте (компьютер пользователя, браузер) и на сервере. Где именно — задают директивы компиляции.
| Директива | Где выполняется | Что доступно |
|---|---|---|
&НаКлиенте | У пользователя | Элементы формы, диалоги, но не база данных |
&НаСервере | На сервере | База данных, данные формы (передаются на сервер) |
&НаСервереБезКонтекста | На сервере | База данных, но без данных формы — вызов легче |
Практические правила:
- Обращения к базе — только в серверных процедурах.
- Каждый вызов сервера с клиента — это сетевой обмен. Собирайте работу в один вызов, а не в десять.
- Если серверной процедуре не нужны реквизиты формы, используйте
&НаСервереБезКонтекста. - Реквизиты формы (данные) и элементы формы (как они показаны) — разные вещи. Сначала создайте реквизит, потом перетащите его в дерево элементов.
Интерфейс «Такси»
Командный интерфейс собирается из подсистем: объект попадает в раздел, если включён в подсистему и у пользователя есть права. Новичкам часто кажется, что «справочник пропал», хотя его просто не включили ни в одну подсистему или не дали роль.
Для тренировки откройте форму документа из своего учебного проекта и добавьте команду «Заполнить остатками». Здесь сойдутся сразу клиент, сервер, запрос к виртуальной таблице регистра и заполнение табличной части.
Отладка и тестирование конфигурации
Отладчик — главный инструмент, который новички осваивают слишком поздно. Без него поиск ошибки превращается в гадание.
Базовые приёмы в Конфигураторе
- 🐞
F9— поставить точку останова на строке; - 🐞
F5— запустить базу в режиме отладки; - 🐞
F11— шаг с заходом в процедуру,F10— шаг без захода; - 🐞
Shift+F9— вычислить выражение: увидеть значение переменной, содержимое таблицы значений, результат запроса; - 🐞 табло — постоянное отслеживание выбранных переменных;
- 🐞 точка останова с условием — когда ошибка проявляется только на сотой строке табличной части.
Отдельный инструмент — замер производительности (меню Отладка). Он показывает, сколько времени заняла каждая строка кода. С его помощью вы найдёте тот самый запрос в цикле.
Для клиент-серверной базы отладку на сервере нужно включить отдельно: сервер 1С запускают с ключом -debug в параметрах службы агента. Делайте это только на тестовом сервере: перезапуск службы обрывает сеансы всех пользователей.
Проверка и тестирование
Конфигурация→Проверка конфигурации— находит синтаксические ошибки, неиспользуемые процедуры, вызовы несуществующих методов.- Ручное тестирование: проведите документы задним числом, перепроведите, удалите — остатки должны сходиться.
- Автоматизированные тесты: сообщество использует открытый инструмент Vanessa Automation, где сценарии пишутся на языке Gherkin («Дано… Когда… Тогда…»). Освоить его стоит после первых реальных задач.
Никогда не отлаживайте доработки в рабочей базе клиента. Сделайте копию через выгрузку .dt и работайте на ней.
План обучения программированию 1С по месяцам и сертификация
Ориентир для человека, который занимается 8–10 часов в неделю.
- 1-й месяцУчебная платформа, первая база, справочники и документы
- 2-й месяцВстроенный язык, коллекции, регистры накопления, проведение
- 3-й месяцЯзык запросов, виртуальные таблицы, система компоновки данных
- 4-й месяцУправляемые формы, клиент-сервер, права и роли
- 5–6-й месяцТиповая конфигурация, расширения, БСП, подготовка к «1С:Профессионал»
Что изучать после основ
- 🧩 Система компоновки данных (СКД) — на ней строятся почти все отчёты типовых конфигураций.
- 🧩 Расширения конфигурации — способ дорабатывать типовую конфигурацию без снятия её с поддержки. Именно так сегодня делают большинство доработок у клиентов.
- 🧩 Библиотека стандартных подсистем (БСП) — общие механизмы типовых решений: печать, дополнительные отчёты и обработки, права. Знание БСП резко ускоряет работу с БП, ЗУП и УТ.
- 🧩 Стандарты разработки фирмы 1С — правила оформления кода и интерфейса, их проверяют в командах и при сертификации решений.
- 🧩 Учёт в предметной области — бухгалтер, который понимает проводки, и программист, который понимает регистры, вместе дают сильного специалиста. Если вы пришли из бухгалтерии, это ваше преимущество.
Сертификаты
| Сертификат | Формат | Что даёт |
|---|---|---|
| 1С:Профессионал по платформе | Компьютерный тест на знание платформы | Первый формальный рубеж, часто спрашивают на входе в франчайзи |
| 1С:Профессионал по конфигурациям (БП, ЗУП, УТ) | Тест по прикладному решению | Подтверждает знание типовой конфигурации |
| 1С:Специалист по платформе и по конфигурации | Практический экзамен: решить задачу в Конфигураторе за отведённое время | Ценится выше тестов, влияет на ставку |
| 1С:Эксперт по технологическим вопросам | Экзамен по производительности и крупным внедрениям | Уровень senior/архитектора |
Учебные материалы к экзаменам публикует сама фирма 1С и её центры сертифицированного обучения. Из книг новичку чаще всего советуют «Практическое пособие разработчика» Радченко и Хрусталевой — по нему удобно собирать учебный проект шаг за шагом.
Ошибки, которые тормозят новичка
- ❌ Учить синтаксис без проекта. Через месяц знания выветриваются. Каждую тему сразу закрепляйте в своей учебной базе.
- ❌ Сразу лезть в типовую БП. В ней тысячи объектов и сотни общих модулей. Без опыта на маленькой конфигурации разобраться почти невозможно.
- ❌ Обращения через точку в цикле.
Документ.Контрагент.ИННв цикле по тысяче документов — тысяча скрытых запросов к базе. - ❌ Правка типовой конфигурации напрямую. Снятие с поддержки превращает каждое обновление в ручное сравнение и объединение. Сначала проверьте, решается ли задача расширением.
- ❌ Игнорировать отладчик. Если вы ищете ошибку через
Сообщить()в каждой строке, потратьте вечер на освоениеShift+F9и условных точек останова.