Путь в разработчики 1С: от первой обработки до сертификата «Специалист»
Содержание
Выучить программирование 1С с нуля реально за 6–12 месяцев, если заниматься 1–2 часа в день. Порядок такой: учебная версия платформы 8.3 → объекты метаданных → встроенный язык → язык запросов → практика на типовых конфигурациях → отладка и инструменты → сертификат «1С:Профессионал» и первая работа.
Главная ловушка новичка — учить язык как обычный язык программирования, в отрыве от платформы. В 1С код почти всегда живёт внутри объекта: документа, регистра, формы. Поэтому сначала понимают, из чего собрана база, и только потом пишут код.
С чего начать: что установить и сколько времени закладывать
Для старта не нужна лицензия и не нужен сервер. Хватит обычного компьютера с Windows и учебной версии платформы.
📦 Что поставить в первую неделю:
- Учебная версия платформы 1С:Предприятие 8.3. Бесплатная, работает без ключа защиты. Есть ограничения: только файловый вариант базы и урезанный объём данных. Для учёбы этого достаточно.
- Пустая база для своей конфигурации. При добавлении базы в окне запуска выберите
Создание информационной базы без конфигурации— в ней вы будете собирать объекты сами. - Демобаза типовой конфигурации. Например, демо Бухгалтерии предприятия 3.0 — её код вы будете читать на втором этапе.
- Книга с упражнениями. Классика — «1С:Предприятие 8.3. Практическое пособие разработчика» М. Радченко и Е. Хрусталёвой. По ней за 3–4 недели собирают учебную конфигурацию с документами, регистрами и отчётами.
Учебную версию платформы распространяют вместе с учебными книгами и на курсах. Ставьте её на отдельный компьютер или виртуалку, если на рабочем уже стоит коммерческая платформа — так проще не путать версии.
Ориентир по времени при 1–2 часах в день:
- 1–2 месяцаПлатформа и объекты метаданных
- 1–2 месяцаВстроенный язык и формы
- 1–2 месяцаЯзык запросов и СКД
- 2–3 месяцаЧтение и доработка типовых конфигураций
- параллельно с практикойОтладка, хранилище, EDT
- 6–12-й месяцСертификат «1С:Профессионал» и поиск работы
Архитектура платформы 1С: из каких деталей собрана любая база
1С — это платформа плюс конфигурация. Платформа (файлы 1cv8.exe, 1cv8c.exe) одна для всех. Конфигурация — описание конкретного решения: Бухгалтерии, ЗУП, вашей учебной базы. Разработчик почти всегда работает с конфигурацией.
🧱 Объекты метаданных, которые нужно знать в первую очередь:
| Объект | Что хранит | Пример |
|---|---|---|
| Справочник | Списки однотипных элементов | Номенклатура, контрагенты |
| Документ | Факт хозяйственной операции | Поступление товаров |
| Перечисление | Фиксированный набор значений | Виды операций |
| Регистр сведений | Данные с привязкой к измерениям, часто ко времени | Курсы валют, цены |
| Регистр накопления | Остатки и обороты | Товары на складах |
| Регистр бухгалтерии | Проводки по плану счетов | Хозрасчётный |
| Общий модуль | Переиспользуемый код | Процедуры расчётов |
| Роль | Права пользователей | Бухгалтер, кладовщик |
Ключевая связка, которую надо понять до кода: документ при проведении записывает движения в регистры, а отчёты читают регистры. Отчёты не перебирают документы. Кто это понял, тот понимает 80% логики типовых конфигураций.
🖥️ Вторая важная вещь — разделение на клиент и сервер. Пользователь работает в тонком клиенте или в браузере. Данные из базы читаются на сервере. Код формы явно помечают директивами:
&НаКлиенте— выполняется на компьютере пользователя, доступа к базе нет;&НаСервере— выполняется на сервере, с передачей данных формы;&НаСервереБезКонтекста— на сервере, без данных формы, вызов дешевле.
Даже в файловой базе на одном компьютере эти контексты работают так же. Поэтому привычку думать «где выполнится этот код» вырабатывают с первого дня.
Встроенный язык 1С: синтаксис, который нужен на старте
Встроенный язык простой. Он похож на Паскаль и Visual Basic, ключевые слова русские (английские тоже поддерживаются). Синтаксис осваивают за 2–3 недели. Дольше учат объектную модель: какие методы есть у документа, у формы, у запроса.
📚 Минимум конструкций:
- переменные и процедуры:
Перем,Процедура … КонецПроцедуры,Функция … Возврат … КонецФункции; - условия:
Если … Тогда … ИначеЕсли … Иначе … КонецЕсли; - циклы:
Для Сч = 1 По 10 Цикл,Для Каждого Элемент Из Массив Цикл,Пока … Цикл; - обработка исключений:
Попытка … Исключение … КонецПопытки; - универсальные коллекции:
Массив,Структура,Соответствие,ТаблицаЗначений.
Первое практическое задание — обработчик проведения документа. Его пишут в модуле объекта, в процедуре ОбработкаПроведения. Пример движения по регистру накопления в учебной конфигурации:
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ТоварыНаСкладах.Записывать = Истина;
Для Каждого Строка Из Товары Цикл
Движение = Движения.ТоварыНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Номенклатура = Строка.Номенклатура;
Движение.Количество = Строка.Количество;
КонецЦикла;
КонецПроцедуры
Здесь Товары — табличная часть документа, ТоварыНаСкладах — регистр накопления с измерениями «Склад» и «Номенклатура» и ресурсом «Количество». Код рабочий для учебной конфигурации из пособия, где эти объекты созданы вручную.
Конструктор движений (контекстное меню документа в дереве конфигурации) генерирует похожий код сам. Сгенерируйте, а потом перепишите руками — так быстрее запоминается.
Справочник по всем методам — синтакс-помощник в Конфигураторе (Справка → Синтакс-помощник). Привыкайте искать в нём, а не в поисковике: там описание для вашей версии платформы.
Язык запросов 1С: что выучить, чтобы писать быстрый код
Запросы — самая важная часть профессии. На собеседованиях по ним гоняют дольше всего. Язык похож на SQL, но работает с объектами конфигурации, а не с таблицами СУБД.
Пример запроса к остаткам из учебной базы:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.КоличествоОстаток КАК Количество
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Склад = &Склад) КАК Остатки";
Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("Склад", Склад);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Строка(Выборка.Номенклатура) + ": " + Формат(Выборка.Количество, "ЧГ=0"));
КонецЦикла;
🔍 Что разобрать по запросам, в порядке сложности:
ВЫБРАТЬ,ИЗ,ГДЕ,СГРУППИРОВАТЬ ПО,УПОРЯДОЧИТЬ ПО, параметры через&.- Соединения:
ЛЕВОЕ СОЕДИНЕНИЕ,ВНУТРЕННЕЕ СОЕДИНЕНИЕ,ОБЪЕДИНИТЬ ВСЕ. - Виртуальные таблицы регистров:
Остатки,Обороты,ОстаткиИОбороты,СрезПоследних. - Временные таблицы (
ПОМЕСТИТЬ) и пакетные запросы. - Система компоновки данных (СКД) — на ней построены почти все отчёты типовых конфигураций.
Не выполняйте запрос внутри цикла по строкам документа. Это первая ошибка, которую ищут на код-ревью: 1000 строк превращаются в 1000 обращений к базе. Правильно — собрать данные в таблицу значений, передать её параметром в один запрос.
Второй момент — условия на измерения ставят в параметрах виртуальной таблицы, как Склад = &Склад в примере выше, а не в ГДЕ. Так платформа отбирает данные до расчёта остатков, и запрос работает быстрее.
Для запросов есть отдельная книга — «Язык запросов 1С:Предприятия 8» Е. Хрусталёвой. Её читают после практического пособия.
Практика на реальных задачах и типовых конфигурациях
Учебная конфигурация даёт основы. Работодатель же платит за доработку типовых: Бухгалтерии 3.0, ЗУП 3.1, Управления торговлей 11, ERP. Их код огромный, и умение в нём ориентироваться — отдельный навык.
🛠️ Задачи, которые стоит решить самостоятельно на демобазе:
- Внешняя печатная форма. Подключается через
Администрирование → Печатные формы, отчёты и обработки. Типовая конфигурация при этом не меняется. - Внешний отчёт на СКД — например, продажи по менеджерам с группировкой по месяцам.
- Обработка загрузки из Excel в справочник номенклатуры.
- Расширение конфигурации . Добавить реквизит в документ и вывести его на форму, не снимая типовую с поддержки. Расширения появились в платформе 8.3.6, и сейчас это основной способ доработки.
- Подписка на событие или переопределение обработчика через расширение (аннотации
&Перед,&После,&Вместо).
Дорабатывайте только копию демобазы. Если вы снимете с поддержки рабочую базу клиента или коллеги, следующее обновление превратится в ручное сравнение-объединение.
📖 Чтобы читать типовой код, разберитесь с Библиотекой стандартных подсистем (БСП). На ней построены все современные типовые: права, печать, дополнительные отчёты, обмены. Знание её общих модулей, например ОбщегоНазначения, сокращает время на любую задачу.
Где брать задачи, если нет работы:
- 💼 фриланс-биржи и разделы заказов на профильных форумах — мелкие печатные формы и отчёты;
- 🤝 знакомые бухгалтеры — у каждой фирмы есть «хочу кнопку, которая…»;
- 🎓 стажировки у франчайзи 1С — многие набирают новичков после сертификата «Профессионал».
Инструменты разработчика: Конфигуратор, EDT и отладчик
Сегодня рабочих среды две, и знать стоит обе.
| Инструмент | Когда использовать | Особенности |
|---|---|---|
| Конфигуратор | Учёба, мелкие доработки, большинство франчайзи | Встроен в платформу, запускается из окна 1С:Предприятие |
| 1C:Enterprise Development Tools (EDT) | Командная разработка, крупные проекты | Среда на базе Eclipse, проект в файлах, работа с Git |
| Хранилище конфигурации | Несколько разработчиков на одной базе в Конфигураторе | Захват и помещение объектов, история версий |
🐞 Отладчик в Конфигураторе осваивают сразу, вместе с языком:
F9— поставить или снять точку останова на строке;F5— запустить отладку или продолжить выполнение до следующей точки;F11— шаг с заходом в процедуру,F10— шаг без захода;Shift+F9— вычислить выражение и посмотреть значение переменной;- табло — окно, куда добавляют переменные, чтобы следить за ними на каждом шаге.
⏱️ Замер производительности (запускается в меню Отладка при активной отладке) показывает, какие строки кода съедают время. С его помощью и находят тот самый запрос в цикле.
Ещё два инструмента, без которых не обойтись:
- Консоль запросов — внешняя обработка, где запрос пишут и выполняют прямо на данных базы. Удобно проверять текст запроса до вставки в код.
- Конструктор запроса — вызывается из контекстного меню в модуле. Новичку экономит время на синтаксисе, но читать и править текст запроса руками всё равно придётся.
Для клиент-серверных баз отладку на сервере включают отдельно, в настройках сервера 1С. На учебной файловой базе всё работает без настроек.
Сертификация и карьера программиста 1С
Сертификаты в 1С — это не формальность. Франчайзи нужны сертифицированные сотрудники для статуса партнёра, поэтому их спрашивают в вакансиях.
🎓 Лестница сертификатов:
- 1С:Профессионал по платформе — компьютерный тест с вопросами на знание платформы. Сдают у партнёров 1С или в центрах сертификации. Обычно его берут через 3–6 месяцев учёбы, с ним уже зовут стажёром.
- 1С:Специалист по платформе — практический экзамен: за несколько часов нужно решить задачу в Конфигураторе, затем защитить решение экзаменатору. Считается главным сертификатом разработчика.
- 1С:Специалист-консультант и Специалист по конфигурациям (Бухгалтерия, ЗУП, УТ, ERP) — для тех, кто внедряет типовые.
- 1С:Эксперт по технологическим вопросам — производительность, блокировки, высоконагруженные системы. Уровень ведущего разработчика или архитектора.
К «Профессионалу» готовятся по официальным сборникам вопросов: их выпускают в виде книг и онлайн-тренажёров. Прорешайте сборник целиком, а не только «сложные» главы — вопросы бывают на мелочи интерфейса.
💰 Ориентиры по зарплатам (примерно, по вакансиям крупных городов и удалёнке):
| Уровень | Опыт | Задачи | Ориентир, руб./мес |
|---|---|---|---|
| Стажёр / junior | до 1 года | печатные формы, отчёты, правки по ТЗ | 50–100 тыс. |
| Middle | 1–3 года | доработки типовых, обмены, расширения | 120–220 тыс. |
| Senior / ведущий | 3+ года | архитектура, производительность, ERP | от 250 тыс. |
Траектории после первых лет обычно три: углубляться в разработку (ERP, производительность, EDT), уходить в консалтинг по учёту или в руководство проектами внедрения.
📄 Что положить в резюме новичку:
- сертификат «1С:Профессионал» с номером;
- 3–5 работ: печатная форма, отчёт на СКД, обработка загрузки, расширение;
- выгрузку учебной конфигурации (
.cf) или репозиторий EDT, который можно показать.