Всем привет! Начинающий 1С-ник, который несколько лет занимался консультациями по ЗУП 3.1 и 2.0, мы хотим перейти в программирование и понять, с чего начать. Немного умеем работать с языком запросов, создаем несложные печатные формы и отчеты, делаем мелкие доработки, но чаще всего на уровне интуиции и поиска информации в интернете. Наша главная цель — систематизировать знания и получить твердые основы.
На курсы от 1С есть разные мнения, кто-то считает, что там много лишнего, кто-то, наоборот, рекомендует их для систематизации знаний и сертификации. В этой статье мы с вами разберем все доступные пути и ресурсы, чтобы вы смогли выбрать наиболее подходящий для себя.
Изучение программирования в 1С, как и любого другого языка, требует систематического подхода. Не стоит сразу бросаться в сложные проекты, если нет понимания базовых принципов.
Обратите внимание на книгу «1С:Предприятие 8.3. Практическое пособие разработчика» М.Г. Радченко, Е.Ю. Хрусталевой. Это одно из наиболее рекомендуемых изданий для начинающих. Мы можем найти эту книгу на Информационно-технологическом сопровождении (ИТС), если у нас есть доступ, или приобрести ее отдельно. Часто она идет в комплекте с учебной версией платформы 1С:Предприятие.
Книга отлично структурирована и позволяет пошагово освоить основные механизмы платформы. Многие начинающие 1С-разработчики учились именно по ней, что подтверждает ее эффективность. Если у вас есть доступ к ИТС, там же вы найдете целый раздел, посвященный изучению программирования и разработки, который достаточно четко систематизирован.
Также важным инструментом для обучения является Учебная платформа 1С:Предприятие. Эту версию платформы мы можем скачать бесплатно. В ее комплекте, помимо самой платформы, часто содержатся и учебно-методические материалы, включая упомянутое пособие Радченко. Она идеально подходит для самостоятельной отработки навыков и экспериментов без риска повредить рабочие данные.
Изучение программирования без практики — это как чтение поваренной книги без приготовления еды. Нам важно применять полученные знания на практике. Начните с постановки себе более или менее глобальной задачи и ее решения.
Представьте, что вы создаете мини-конфигурацию для записи пациентов в клинику, как это делал один из участников обсуждения. Нам потребуется:
Приход, который будет заносить данные о сумме платежа, имени пациента, дате платежа, датах посещения (это может быть один день, несколько дней или месяц) и специалисте.Расход для фиксации трат (зарплата, хозрасходы и так далее).Столкнувшись с проблемой записи в регистры или отображением дат посещения, мы понимаем, что нам не хватает базовых теоретических знаний. Именно на этом этапе мы можем обратиться к книге Радченко или другим ресурсам, чтобы разобраться, как это делается правильно.
Сфокусируйтесь на базовых механизмах:
Избегайте излишних сложностей на старте: На начальном этапе постарайтесь не углубляться в такие механизмы, как Библиотека стандартных подсистем (БСП), веб-сервисы, XDTO, асинхронность, механизм ограничения прав доступа на уровне записей (РЛС) или система компоновки данных (СКД). Эти темы могут отбить желание учиться, поскольку требуют глубокого понимания платформы. Сконцентрируйтесь на создании простой, но работоспособной конфигурации.
Когда вы сталкиваетесь с ошибками: Не стесняйтесь того, что более опытный коллега может решить вашу задачу за полчаса, когда вы бьетесь над ней несколько дней. Это нормально для новичка. Важно не сдаваться. Если, например, документ Приход работает более или менее, а Расход постоянно выдает ошибку при записи, как это было у одного из участников, это отличный повод углубиться в тему записи движений в регистры. Досконально разберитесь с механизмом Запись() объекта Движения и тем, как данные с формы попадают в прикладные таблицы. Подобные 'затыки' — это лучшие учителя.
Для тех, кому удобнее воспринимать информацию визуально, или кто нуждается в более интерактивном подходе, существуют видеоуроки и онлайн-курсы:
Фундаментальное понимание основ баз данных является критически важным для любого программиста, и 1С-разработчик не исключение. Знание того, как данные хранятся, индексируются, связываются между собой и извлекаются, поможет нам писать более эффективный код и понимать логику работы платформы.
Просто прочтите все книжки, идущие в составе конфигурации, например, 1С:Бухгалтерия предприятия 3.0, про язык программирования 1С. У нас останется понимание того, что может язык на уровне подсознания.
Когда мы освоим основы, перейдем к изучению типовых конфигураций. Анализ существующих решений, таких как 1С:Зарплата и Управление Персоналом (ЗУП), 1С:Бухгалтерия (БП), 1С:Управление нашей фирмой (УНФ) или 1С:Управление торговлей (УТ), позволяет увидеть, как реализованы различные механизмы, процедуры и функции. Это помогает понять 'матчасть' и перенять лучшие практики.
Мы можем изучить 'коробку' ЗУП на предмет готовых процедур и функций. Это даст нам понимание того, как устроены большие, сложные системы и как они решают типовые задачи. Многие задачи, с которыми мы столкнемся, уже реализованы в типовых решениях, и нам нужно будет лишь понять, как их адаптировать или использовать.
Один из самых быстрых способов наработать опыт — это устроиться на работу во франчайзи (партнера 1С). Там вы быстро и многому научитесь, так как столкнетесь с разнообразием задач и проектов. Однако, как отмечают участники обсуждения, зарплата на старте во франче может быть значительно ниже текущей, что не всегда приемлемо из-за финансовых обязательств. После получения опыта во франче, мы можем перейти на 'фикс', то есть в штатную компанию, и там углублять свои знания в конкретном направлении.
Если вариант с франчем не подходит, ищите контору с маленькими требованиями к 1С-программисту и там понемногу прокачивайте скиллы. Этот путь дольше, но позволяет поддерживать текущий уровень дохода.
Обсудите возможность оплаты курсов с нашим работодателем. Многие компании готовы инвестировать в развитие своих сотрудников, особенно если это поможет решить внутренние задачи. Например, некоторые работодатели оплачивают базовые курсы по запросам и другим темам в учебных центрах.
В начале пути многие, чтобы освоить платформу, начинают писать свои собственные 'самописные' конфигурации. Это отличный способ понять 'матчасть' и получить практический опыт. Экзамены на 'Специалиста по платформе' часто содержат задания, похожие на создание небольших конфигураций с нуля, что подтверждает полезность такого подхода для обучения.
Однако, важно осознавать 'болевые точки' таких решений:
Рассмотрим пример с мини-конфигурацией для клиники. Хотя она и служит отличной учебной задачей, для реального внедрения в клинике существуют готовые, более надежные и функциональные решения, такие как 1С:Медицина. Поликлиника, 1С:Управление нашей фирмой (УНФ) или 1С:Управление торговлей (УТ11), которые уже содержат учет оказания услуг. Эти решения, конечно, более сложные, но их функционал проверен и они рассчитаны на долгосрочную поддержку.
На форуме часто возникают вопросы о том, стоит ли вообще идти в 1С, когда есть другие языки программирования (Python, Django, React, Android) с потенциально более высокими зарплатами. Мы проанализируем аргументы с обеих сторон:
Преимущества 1С:
HTTP-сервисов, без дополнительных лицензий. Клиент заходит в приложение, регистрируется, выбирает время и записывается.Ограничения 1С (по мнению некоторых специалистов):
Решение остаётся за вами. Возможно, стоит попробовать начать с 1С, а параллельно или позднее рассмотреть и другие языки. Один из подходов — это начать с Python, чтобы научиться 'чистому' программированию, а затем вернуться в 1С, чтобы иметь хороший стек технологий Питон + 1С + Типовое решение.
Помните, что каждый специалист, даже самый опытный, когда-то был новичком. Не стоит стыдиться того, что начальник, который редко программирует, может сделать задачу быстрее вас. Это просто результат накопленного опыта. Все приходит со временем и практикой. Ваша задача — продолжать учиться, не бояться ошибок и постепенно переходить к более сложным задачам. Как сказал один из участников: "Это не стыдно, это нормально для джуна, все с опытом приходит".
В заключение, изучение программирования в 1С — это путь, требующий настойчивости и системности. Начните с освоения фундаментальных ресурсов, таких как книга Радченко и учебная платформа. Активно применяйте знания на практике, решая свои собственные задачи, и не бойтесь сталкиваться с трудностями – это часть процесса обучения. Рассмотрите возможности для обучения на курсах и работы во франчайзи или в штатной компании. Успехов в вашем пути к становлению опытным 1С-разработчиком!