От первого справочника до сложных периодических расчетов: отзыв о курсе «Разработчик 1С»
Защита диплома позади, база выгружена в .dt, финальное ревью пройдено, и курс успешно завершен. Когда утихают первые эмоции после напряженной работы над итоговым проектом, появляется потребность трезво оглянуться назад и полумать над прожитым опытом. Профессия «Разработчик 1С» в последнее время привлекает многих, но вокруг нее традиционно ходит масса стереотипов. Я выбрал этот путь осознанно, а в качестве образовательного партнера остановился на Яндекс Практикуме.
Хочу поделиться подробным и непредвзятым взглядом на программу: с ее сильными сторонами, ощутимыми шероховатостями и реальным объемом практики.
О чем курс и как выстроена программа
Программа охватывает полный цикл прикладной разработки на платформе «1С:Предприятие 8.3». Обучение построено по спринтам вокруг сквозных кейсов: сначала мы шаг за шагом автоматизировали процессы барбершопа, параллельно закрепляя материал на домашнем проекте груминг-салона, а завершили все масштабным двухэтапным дипломным проектом салона ногтевого сервиса.
Материал стартует с фундамента: объектная модель, типы данных, клиент-серверное разделение контекста и управляемые формы. Довольно быстро интенсивность нарастает. Курс последовательно погружает в:
- Оперативный учет и язык запросов: понимание разницы между физическими и виртуальными таблицами, работа с временными таблицами, индексация, механизм управляемых блокировок и партионный учет (включая FIFO и FEFO).
- Систему компоновки данных (СКД): от простых списков до кросс-таблиц, составных отборов и тонкой настройки условного оформления.
- Регламентированный (бухгалтерский) учет: двойная запись, корреспонденция, план счетов, виды субконто, регистры бухгалтерии и формирование оборотно-сальдовых ведомостей.
- Сложные периодические расчеты (СПР): планы видов расчета, регистры расчета, алгоритмы вытеснения по периоду действия (больничные и оклады) и расчеты по базе (премии). Например, для мастеров салона настраивался расчет оклада по сменному графику ("два через два") с механизмом фактического периода действия. Когда мастер уходит на больничный, в регистре расчета запись больничного автоматически вытесняет базовый период оклада. Научиться понимать, почему регистрация документа задним числом требует перерасчета связанных записей регистра и как платформа обрабатывает таблицы перерасчетов — один из самых ценных навыков этого блока.
- Интеграции и мобильную разработку: парсинг табличных документов Excel, обмен через JSON/XML, создание HTTP-сервисов (REST) и SOAP/XDTO, подключение мобильного клиента и работа с внешними API.
Что действительно порадовало
1. Глубокое погружение в архитектуру и производительность
Здесь не просто учат кликать мышкой в конфигураторе. С первых недель нам прививали привычки промышленной разработки: почему нельзя делать запросы в цикле, зачем вводить НоменклатураПредставление вместо обращения через точку к ссылке в сообщениях пользователю, как минимизировать серверные вызовы (&НаСервереБезКонтекста) и чем старая методика проведения документов принципиально отличается от новой. Уроки по разбору планов запросов в MS SQL Profiler и настройке кластера серверов 1С стали приятным откровением, которого обычно не ждешь от базовых программ.
Чтобы не быть голословным, покажу паттерн проведения документа реализации, который от нас требовали в дипломе. Здесь совмещены сразу три промышленных стандарта: превентивная управляемая блокировка по табличной части, пакетный запрос с временной таблицей остатков и исключение разыменования ссылок через точку в коде:
2. Фокус на логику сложных механизмов
Блок по расчету зарплаты и сложным периодическим расчетам пугает многих новичков. В курсе этот раздел преподнесен очень наглядно: на живых примерах с графиками пятидневки и сменности («два через два» и «три через три») становится понятно, как именно связываются периоды действия, базовые периоды и механизм вытеснения.
3. Разнообразие прикладных задач
Курс не замыкается на типовой торговле. Задачи по созданию графических мониторов руководителя, кастомных планировщиков загрузки мастеров, мобильного приложения для предварительной записи и интеграции с внешними REST-сервисами через Postman позволяют ощутить платформу как полноценный, гибкий инструмент разработки.
Ложка дегтя: что вызывало вопросы и раздражение
Идеальных курсов не бывает, и здесь тоже есть над чем работать.
1. Рассинхронизация именования метаданных
Пожалуй, самая частая причина потери времени на первых спринтах — нестыковки в терминологии между теоретическим уроком, текстом технического задания и проверочными автотестами. В теории реквизит назван Плательщик, в ТЗ к домашке он внезапно становится Контрагентом или Клиентом, а в макете формы фигурирует как Покупатель. Где-то используется Сотрудник, а через страницу — Мастер. Приходится постоянно сверяться с контекстом, чтобы случайно не поломать валидацию из-за одного несовпавшего символа в коде.
2. Неровность стиля изложения
Очень заметно, что разные модули писались разными авторами. Если блок по оперативному учету подан с легким юмором, жизненными метафорами и подробным объяснением каждого нюанса, то модули по администрированию или некоторым интеграциям порой скатываются в сухой пересказ документации с ИТС. Перепады от формата «разжевываем на пальцах» к «вот листинг на 200 строк, разбирайтесь сами» иногда выбивают из колеи.
3. Отставание части теории от изменений платформы
В ряде тем разбираются методики или примеры под более ранние релизы платформы, тогда как в практической среде студенты работают на версиях 8.3.25 и выше. Например, отдельные моменты со сборщиком мобильных приложений, регистрацией прав доступа к параметрам сеанса или поведением веб-сервера Apache требовали поиска решений в тредах базы знаний и студенческих чатах, так как базовый текст уроков содержал устаревшие скриншоты или неактуальные команды.
Дипломный проект и финальное впечатление
В дипломе проект салона ногтевого сервиса заставил поломать голову над смешанным проведением: в одном документе "Реализация" клиент может одновременно купить лак для ногтей (материальный товар со склада) и оплатить маникюр (нематериальная услуга). В запросе мы типизируем строки через конструкцию ВЫБОР КОГДА ... ТипНоменклатуры = ЗНАЧЕНИЕ(...), чтобы алгоритм списания себестоимости и контроль остатков отрабатывали строго по товарам, а регистр заказов и взаиморасчетов закрывался по всему объему.
Еще один нюанс, на котором многие сыпались на ревью: создание документов на основании. Если администратор салона по ошибке нажимает "Создать реализацию" на основании уже закрытой предварительной записи, система не должна плодить дубли. В процедуре ОбработкаЗаполнения и ПроверитьДубликатРеализации мы блокируем попытку через проверку существующих проведенных связок, предотвращая рассинхрон остатков в регистре "ЗаказыКлиентов".
Проект по ногтевому сервису собрал воедино всю пройденную цепочку: от первичных документов поступления и реализации до проводок на плане счетов, расчета зарплаты с больничными, загрузки прайс-листов из Excel через построитель запроса и создания мобильного клиента. Это не абстрактная «синтетическая» задача, а законченная конфигурация, архитектурные решения которой можно аргументированно защищать перед техлидом.
Оглядываясь назад, могу сказать: это не легко. Курс требует усидчивости, готовности отлаживать код по ночам и самостоятельно докапываться до сути ошибок. Но если ваша цель — не просто поверхностно познакомиться с конфигуратором, а сформировать крепкую инженерную базу и научиться мыслить архитектурно в экосистеме 1С, этот курс дает необходимый фундамент.