С чего начать изучать программирование в 1С новичку: пошаговое руководство и ресурсы?

Программист 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

Всем привет! Начинающий 1С-ник, который несколько лет занимался консультациями по ЗУП 3.1 и 2.0, мы хотим перейти в программирование и понять, с чего начать. Немного умеем работать с языком запросов, создаем несложные печатные формы и отчеты, делаем мелкие доработки, но чаще всего на уровне интуиции и поиска информации в интернете. Наша главная цель — систематизировать знания и получить твердые основы.

На курсы от 1С есть разные мнения, кто-то считает, что там много лишнего, кто-то, наоборот, рекомендует их для систематизации знаний и сертификации. В этой статье мы с вами разберем все доступные пути и ресурсы, чтобы вы смогли выбрать наиболее подходящий для себя.

Основные шаги и ресурсы для старта

  1. Систематизируйте знания с помощью книг и платформ.

    Изучение программирования в 1С, как и любого другого языка, требует систематического подхода. Не стоит сразу бросаться в сложные проекты, если нет понимания базовых принципов.

    Обратите внимание на книгу «1С:Предприятие 8.3. Практическое пособие разработчика» М.Г. Радченко, Е.Ю. Хрусталевой. Это одно из наиболее рекомендуемых изданий для начинающих. Мы можем найти эту книгу на Информационно-технологическом сопровождении (ИТС), если у нас есть доступ, или приобрести ее отдельно. Часто она идет в комплекте с учебной версией платформы 1С:Предприятие.

    Книга отлично структурирована и позволяет пошагово освоить основные механизмы платформы. Многие начинающие 1С-разработчики учились именно по ней, что подтверждает ее эффективность. Если у вас есть доступ к ИТС, там же вы найдете целый раздел, посвященный изучению программирования и разработки, который достаточно четко систематизирован.

    Также важным инструментом для обучения является Учебная платформа 1С:Предприятие. Эту версию платформы мы можем скачать бесплатно. В ее комплекте, помимо самой платформы, часто содержатся и учебно-методические материалы, включая упомянутое пособие Радченко. Она идеально подходит для самостоятельной отработки навыков и экспериментов без риска повредить рабочие данные.

  2. Приступайте к практическим задачам, начиная с малого.

    Изучение программирования без практики — это как чтение поваренной книги без приготовления еды. Нам важно применять полученные знания на практике. Начните с постановки себе более или менее глобальной задачи и ее решения.

    Представьте, что вы создаете мини-конфигурацию для записи пациентов в клинику, как это делал один из участников обсуждения. Нам потребуется:

    • Документ Приход, который будет заносить данные о сумме платежа, имени пациента, дате платежа, датах посещения (это может быть один день, несколько дней или месяц) и специалисте.
    • Документ Расход для фиксации трат (зарплата, хозрасходы и так далее).
    • Отчеты по движению денежных средств, расписаниям и загруженности специалистов.

    Столкнувшись с проблемой записи в регистры или отображением дат посещения, мы понимаем, что нам не хватает базовых теоретических знаний. Именно на этом этапе мы можем обратиться к книге Радченко или другим ресурсам, чтобы разобраться, как это делается правильно.

    Сфокусируйтесь на базовых механизмах:

    • Регистры накопления и регистры сведений: Это ключевые объекты для хранения данных в 1С. Нам необходимо понять их структуру, типы движений (приход/расход для регистров накопления) и различные способы записи данных (вручную, с помощью конструктора движений). Понимание этих объектов критически важно для корректного учета.
    • Работа с датами и периодами: В 1С существуют различные подходы к работе с датами и периодами в зависимости от задачи. Например, это может быть дата документа, дата записи в регистре, или период действия какого-либо условия. Изучение функционала работы с датами в языке 1С поможет нам корректно отображать и обрабатывать информацию о посещениях.
    • Использование конструкторов: На начальном этапе активно используйте конструкторы форм и движений. Эти инструменты значительно упрощают разработку и позволяют увидеть, какой код генерируется платформой. Это отличный способ понять, как устроены базовые операции.

    Избегайте излишних сложностей на старте: На начальном этапе постарайтесь не углубляться в такие механизмы, как Библиотека стандартных подсистем (БСП), веб-сервисы, XDTO, асинхронность, механизм ограничения прав доступа на уровне записей (РЛС) или система компоновки данных (СКД). Эти темы могут отбить желание учиться, поскольку требуют глубокого понимания платформы. Сконцентрируйтесь на создании простой, но работоспособной конфигурации.

    Когда вы сталкиваетесь с ошибками: Не стесняйтесь того, что более опытный коллега может решить вашу задачу за полчаса, когда вы бьетесь над ней несколько дней. Это нормально для новичка. Важно не сдаваться. Если, например, документ Приход работает более или менее, а Расход постоянно выдает ошибку при записи, как это было у одного из участников, это отличный повод углубиться в тему записи движений в регистры. Досконально разберитесь с механизмом Запись() объекта Движения и тем, как данные с формы попадают в прикладные таблицы. Подобные 'затыки' — это лучшие учителя.

  3. Используйте видеоуроки и онлайн-курсы.

    Для тех, кому удобнее воспринимать информацию визуально, или кто нуждается в более интерактивном подходе, существуют видеоуроки и онлайн-курсы:

    • Бесплатные ресурсы на YouTube: Многие разработчики рекомендуют искать конкретные темы, в которых возникли сложности, на YouTube. Каналы, где материал объясняется доступно, могут стать хорошим подспорьем. Если вы нашли видео, где тема объясняется понятно, посмотрите и другие видео на этом же канале.
    • Платные курсы: Курсы от Фарита Насипова и Чистова часто упоминаются как эффективные. Например, одна из участниц форума смогла освоить программирование 1С на приемлемом уровне за 3 месяца, занимаясь по 6 часов каждый день и просто повторяя действия из видеоуроков Чистова. Она даже создала свою первую самописную конфигурацию для реального учета интернет-магазина.
    • Курсы от 1С: Несмотря на мнение о том, что они могут содержать 'много лишнего', официальные курсы 1С могут быть очень полезны для систематизации знаний и подготовки к сертификации 1С:Специалист по платформе. Прохождение таких курсов помогает получить комплексное понимание работы платформы и подготовиться к сдаче экзаменов, которые часто включают задачи по разработке небольших конфигураций с нуля. Мы можем обсудить возможность оплаты таких курсов с нашим работодателем.
  4. Изучите теорию баз данных.

    Фундаментальное понимание основ баз данных является критически важным для любого программиста, и 1С-разработчик не исключение. Знание того, как данные хранятся, индексируются, связываются между собой и извлекаются, поможет нам писать более эффективный код и понимать логику работы платформы.

    Просто прочтите все книжки, идущие в составе конфигурации, например, 1С:Бухгалтерия предприятия 3.0, про язык программирования 1С. У нас останется понимание того, что может язык на уровне подсознания.

  5. Анализируйте типовые конфигурации.

    Когда мы освоим основы, перейдем к изучению типовых конфигураций. Анализ существующих решений, таких как 1С:Зарплата и Управление Персоналом (ЗУП), 1С:Бухгалтерия (БП), 1С:Управление нашей фирмой (УНФ) или 1С:Управление торговлей (УТ), позволяет увидеть, как реализованы различные механизмы, процедуры и функции. Это помогает понять 'матчасть' и перенять лучшие практики.

    Мы можем изучить 'коробку' ЗУП на предмет готовых процедур и функций. Это даст нам понимание того, как устроены большие, сложные системы и как они решают типовые задачи. Многие задачи, с которыми мы столкнемся, уже реализованы в типовых решениях, и нам нужно будет лишь понять, как их адаптировать или использовать.

Особенности и альтернативные пути развития

  1. Работа во франче или в штате.

    Один из самых быстрых способов наработать опыт — это устроиться на работу во франчайзи (партнера 1С). Там вы быстро и многому научитесь, так как столкнетесь с разнообразием задач и проектов. Однако, как отмечают участники обсуждения, зарплата на старте во франче может быть значительно ниже текущей, что не всегда приемлемо из-за финансовых обязательств. После получения опыта во франче, мы можем перейти на 'фикс', то есть в штатную компанию, и там углублять свои знания в конкретном направлении.

    Если вариант с франчем не подходит, ищите контору с маленькими требованиями к 1С-программисту и там понемногу прокачивайте скиллы. Этот путь дольше, но позволяет поддерживать текущий уровень дохода.

    Обсудите возможность оплаты курсов с нашим работодателем. Многие компании готовы инвестировать в развитие своих сотрудников, особенно если это поможет решить внутренние задачи. Например, некоторые работодатели оплачивают базовые курсы по запросам и другим темам в учебных центрах.

  2. Перспективы самописных конфигураций.

    В начале пути многие, чтобы освоить платформу, начинают писать свои собственные 'самописные' конфигурации. Это отличный способ понять 'матчасть' и получить практический опыт. Экзамены на 'Специалиста по платформе' часто содержат задания, похожие на создание небольших конфигураций с нуля, что подтверждает полезность такого подхода для обучения.

    Однако, важно осознавать 'болевые точки' таких решений:

    • Поддержка и масштабируемость: Самописные конфигурации могут столкнуться с проблемами масштабируемости, поддержки и добавления новых 'фич' в будущем. Если вы делаете что-то для знакомых, будьте готовы, что они будут постоянно запрашивать новые 'фичи', и для их реализации придется переписывать значительную часть уже написанного.
    • Затраты на внедрение: Переход с 'самописки' на отраслевое решение в будущем может оказаться сложным и дорогим.

    Рассмотрим пример с мини-конфигурацией для клиники. Хотя она и служит отличной учебной задачей, для реального внедрения в клинике существуют готовые, более надежные и функциональные решения, такие как 1С:Медицина. Поликлиника, 1С:Управление нашей фирмой (УНФ) или 1С:Управление торговлей (УТ11), которые уже содержат учет оказания услуг. Эти решения, конечно, более сложные, но их функционал проверен и они рассчитаны на долгосрочную поддержку.

  3. Дискуссия о выборе языка программирования: 1С против других.

    На форуме часто возникают вопросы о том, стоит ли вообще идти в 1С, когда есть другие языки программирования (Python, Django, React, Android) с потенциально более высокими зарплатами. Мы проанализируем аргументы с обеих сторон:

    Преимущества 1С:

    • Низкий порог входа: Язык программирования 1С преимущественно на русском языке, что упрощает старт для русскоязычных пользователей.
    • Удобная отладка: Платформа 1С предоставляет мощные инструменты для отладки, что значительно ускоряет процесс разработки и поиска ошибок.
    • Многообразие франчайзи: Существует множество компаний-франчайзи, готовых брать новичков и обучать их.
    • Мобильные приложения: На платформе 1С также можно разрабатывать мобильные приложения. Например, простую систему записи пациентов можно реализовать за несколько часов с использованием HTTP-сервисов, без дополнительных лицензий. Клиент заходит в приложение, регистрируется, выбирает время и записывается.
    • Встроенные механизмы: Многие сложные механизмы (фильтры, поиск, управление правами доступа, работа с большим объемом данных) реализуются в 1С гораздо проще, буквально "нажатием кнопочки и проставлением галочек", тогда как в других фреймворках это может потребовать значительных усилий и оптимизации.

    Ограничения 1С (по мнению некоторых специалистов):

    • 'Не программирование, а разработка': Некоторые считают, что в 1С больше 'разработки' (т.е. адаптации и поддержания типовых решений, понимания предметной области), чем чистого 'программирования'.
    • Требования к предметным знаниям: Помимо программирования, часто требуются глубокие знания предметных областей (бухгалтерия, склад, логистика, ЗУП и т.д.).
    • Необходимость сертификатов: Для карьерного роста часто требуются сертификаты 1С, подготовка к которым может занимать много времени.
    • Сложность старых баз: Работа со старыми, сильно переписанными конфигурациями может быть крайне трудоемкой и не всегда хорошо оплачивается.
    • Ограничения для кастомных решений: Для очень специфичного оформления, сложной логики с push-уведомлениями или огромного количества пользователей (сотни тысяч) 1С может быть не самым подходящим инструментом, и для таких задач действительно существуют более специализированные платформы.

    Решение остаётся за вами. Возможно, стоит попробовать начать с 1С, а параллельно или позднее рассмотреть и другие языки. Один из подходов — это начать с Python, чтобы научиться 'чистому' программированию, а затем вернуться в 1С, чтобы иметь хороший стек технологий Питон + 1С + Типовое решение.

  4. Важность упорства и опыта.

    Помните, что каждый специалист, даже самый опытный, когда-то был новичком. Не стоит стыдиться того, что начальник, который редко программирует, может сделать задачу быстрее вас. Это просто результат накопленного опыта. Все приходит со временем и практикой. Ваша задача — продолжать учиться, не бояться ошибок и постепенно переходить к более сложным задачам. Как сказал один из участников: "Это не стыдно, это нормально для джуна, все с опытом приходит".

В заключение, изучение программирования в 1С — это путь, требующий настойчивости и системности. Начните с освоения фундаментальных ресурсов, таких как книга Радченко и учебная платформа. Активно применяйте знания на практике, решая свои собственные задачи, и не бойтесь сталкиваться с трудностями – это часть процесса обучения. Рассмотрите возможности для обучения на курсах и работы во франчайзи или в штатной компании. Успехов в вашем пути к становлению опытным 1С-разработчиком!

← На главную