Sysadmin to 1C developer / Habr
Предисловие
Данная статья посвящена ИТ-специалистам нулевого уровня владения, как платформой 1С, так и конкретными стандартными конфигурациями. Данная статья должна ответить на вопрос: «С чего начать?»
Мой личный путь к 1С был своеобразным. Будучи программистом аналитического модуля товароучетной системы (писал на vb6), я время от времени брал работу системного администратора, а если точнее, то выполнял функции эникейщика. На четвертом году работы я остался один из старого состава ИТ-отдела, и отвечал за сеть из 60 ПК и 5 серверов. Сеть построил максимально отказоустойчивой (ввиду своей лени, даже все ПО устанавливалось как управляемое, при добавлении ПК в группу безопасности), делать стало нечего. Куда дальше? Навыки первичных обязанностей в организации не были забыты, по этому были внедрены два проекта на VB.NET и C# используя платформу .NET. Примерно в это время начал писать небольшие отчеты для конфигурации «управление торговлей» на платформе 8.1
Я не буду указывать где читать, я буд говорить, что искать для прочтения.
Кто такие 1С программисты?
Наверное часто можно услышать, что 1Эсники не программисты. Забавно конечно, но был такого же мнения, когда мне – системному администратору 1С-программист приносил флэшку с вирусами. В моей голове не укладывалось, что ИТ-специалист может себе позволить такую роскошь, как вирусы на flash накопителе. Позже мне стало понятно, что оббежав 2-3 организации и скопировав им новые отчеты, то flash накопитель нужно обязательно чистить. А вообще, бывает, что и программистов других платформ назвать программистами сложно. Разные платформы? Язык программирования на русском языке? Это же всего лишь синтаксис и возможности платформы, о которых, ты, либо знаешь, либо нет, а если и знаешь, то, либо умеешь с ними работать, либо не умеешь. А теперь я осмелюсь классифицировать 1С программистов и разделить их на три категории:
- Бухгалтера
- 1С программисты определенной предметной области
- «Программисты»
Я не могу описать первую категорию программистов, не процитировав Андрея Орлова и его «записки автоматизатора». Он пишет:
Я, например, вполне прилично разбираюсь в технологиях склада, магазина и оптовых продаж, то есть свободно владею менеджерским, складским, программистским и русским языками. На этих языках я понимаю их носителей, могу сформулировать свои мысли и, самое главное, думать сам. А вот бухгалтерский язык для меня – иностранный. Я понимаю написанное на нем другими, если напрягусь, и сам могу написать шаблоны проводок для хозяйственной операции, но у меня не могут появиться идеи на этом языке.
И он приводит пример такой идеи:
Нам не нужна отдельная система контроля исполнения поручений, все можно сделать в модуле „Бухгалтерия“ нашей системы: когда поручение дается, датой отчета по поручению делается проводка на штраф ответственному, а если он поручение случайно выполнит, то проводка сторнируется.
Для того, что бы стать программистом из первой категории нужно знать бухгалтерский учет и точка, остальное синтаксис, гугл и креативность.
Вторая категория – это программисты знающие конкретные конфигурации, а точнее конкретный вид учета: складской, общепит, производство. Думаю тот, кто прочитав статью, будет работать в этом направлении должен стремиться именно в эту категорию (не забыв конечно, пройти третью категорию). Собственно тут решает опыт, опыт работы с конкретной конфигурацией и работы в определенной предметной области. Если вы системный администратор и в вашей организации есть такие конфигурации, то вам пора начинать.
Третья категория. Как говориться: «Добро пожаловать». Тут мы будем клепать формочки, строить отчеты, которые работают несколько часов, будем делать умное лицо и напрягать сервера гугла.
Чего ожидать?
Давайте лучше чего не надо ожидать.
Не надо ждать четкого технического задания, забудьте вообще о нем, либо вы его себе сами пишете и утверждаете, либо у вас его не будет.
Не надо ожидать быстрого старта и хорошей оплаты. Вам нужен опыт, опыт – это оплата, а пока (как я писал выше, если вы системный администратор, и в организации есть учетные системы на платформе 1С) берите работу так, за тарелку супа и работайте.
Не надо ожидать поддержки других программистов, ваши помощники на данном этапе люди, знающие предметную область, к примеру, в складском учете – это начальник склада, если у вас складская учетная система, то начальник склада должен вам стать другом и товарищем на ближайший год. Почему год? Я думаю, сопоставив предлагаемые компенсационные пакеты своего региона, что через год обучения, можно будет подыскивать место с большим компенсационным пакетом, чем пакет системного администратора.
Быстрый старт
Администрирование 1С баз
- Нужно понимать четко, что такое платформа 1С и что такое конфигурация 1С, версии есть, и у платформы, и у конфигурации
- Различия файлового и серверного режима работы. Попробовать создать базы обоих типов
- Попробовать почитать и понять различия режимов конфигурации «Обычного приложения» и «Управляемого»
Знакомство с основными объектами
В сети много ресурсов, где можно почитать, посмотреть. На данном этапе будет достаточно ознакомиться с такими объектами как справочники, документы, регистры сведений и регистры накопления. Не надо пугаться, это все обычные таблицы, которые имеют разные свойства и методы, для удобства решения определенного круга задач автоматизации. Не надо забывать, что 1С язык – проблемно-ориентированный язык.
Изучение языка запросов
На данном этапе я бы посоветовал отойти от 1С и начать изучать SQL. Тут надо понимать, мало изучить операторы, нужно уметь ими пользоваться. Я бы посоветовал пройти обучающий этап на sql-ex.ru, ну или хотя бы процентов 50.
Изучение предметной области автоматизации
Тут два пути, пойти изучать систему, которая внедрена у вас в организации, но есть второй, о нем в заключении. Если у вас склад, то ходите задавайте вопросы, как двигается товар, какие документы используются. Если есть документация от внедренцев системы – это очень хорошо, читайте. Сделайте себе базу для тестов, пытайтесь выполнить задания.
Заключение
На написание данной статьи побудили вопросы от системных администраторов, а именно один и главный вопрос: «С чего начать?» Также я сделал несколько видео для автоматизации системными администраторами своей собственной предметной области. Самое простое научиться автоматизировать предметную область, которую ты знаешь, я попытался показать на видео, как это сделать. Есть еще и четвертая категория 1С программистов, но об этом пойзже…
Видео
Программирование 1С 8.3 с нуля
Сразу начнем с рекомендации самоучителя по программированию в 1С 8.3 от «Школы 1С» на Youtube, а затем рассмотрим существующие книги и видео уровки.
С чего начать с нуля?
Самое главное в 1С – то, что не нужно придумывать свои виды объектов. Все они уже есть в конфигурации.
Установите технологическую платформу 1С себе на компьютер, и откройте в конфигураторе новую или уже существующую базу. Для начала можно использовать абсолютно бесплатную учебную версию 1С 8.3 для обучения программированию.
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!
В левой части окна вы увидите дерево объектов конфигурации. К ним относятся документы, справочники, регистры, бизнес-процессы и многое другое.
Данные так же хранятся в СУБД, но разработчик обычно не работает с ними напрямую. При помощи технологической платформы программист обращается уже к объектам конфигурации или информационной базы.
В 1С, как и во многих других языках программирования, очень часто используются запросы. Язык запросов в 1С схож с языком T-SQL. Запросы можно писать как на английском, так и на русском, в прочем, как и остальной код.
Вроде бы все просто, но для работы «в полевых условиях» одного знания языка программирования чаще всего не достаточно. Дело в том, что в большинстве организаций, использующих 1С, установлены типовые конфигурации, и их нужно знать.
Рекомендуется изучить самые распространенные конфигурации. К ним относятся такие, как «Бухгалтерия» и «Управление торговлей». Так же часто используются «ЗУП» и «Розница».
В плане работы для 1С программистов существуют две основные ветви: франчайзи или работа «на себя» и работа в качестве штатного программиста it-отдела какой-либо организации. Данный выбор зависит только от ваших предпочтений.
При работе в франчайзи, на фрилансе или ведении собственного бизнеса оплата будет сдельная. Работы может быть много и нужно выкладываться по-полной. Верхней планки по заработной плате здесь нет, и вы можете заработать внушительную сумму денег.
Если вы решите работать на фрилансе, либо открыть собственный бизнес, не нужно будет ни с кем «делиться» своим заработком (кроме государства и фрилансовой площадки естественно). Но в таком случае и клиентов будет необходимо искать самостоятельно.
Если вы все же решили устроиться в организацию в качестве штатного программиста, то будете мало зависеть т объема выполненной работы. В данном случае есть некая стабильность, но и зарплатная планка ограничена.
Конечно же, эти два способа можно совместить, работая штатным программистом днем и на фрилансе по вечерам.
Что хорошо у 1С программистов, так это то, что у вас может не быть технического образование (например, вы экономист, бухгалтер и т. п.). Для подтверждения своих знаний перед клиентами или работодателем вы можете предоставить свои сертификаты 1С.
Сертификаты бывают различных видов, как по платформе (для программистов), так и по типовым решениям. Получить их можно в фирме 1С, сдав экзамен в виде теста или практического задания.
Книги по 1С
Лучше всего изучать 1С по книгам, которые были изданы фирмой 1С. Так сказать, от первоисточника. Некоторые из них идут с поставками типовых конфигураций. Так же вы можете купить отдельные книги.
Книга «1С:Программирование для начинающих» предназначена для людей, далеких от программирования, но желающих научиться создавать собственные решения на 1С 8.3 с самого нуля.
«Hello, 1C» показывает самые простые, основные возможности разработки прикладных решений в системе 1С:Предприятие 8.
В «101 совете» описаны различные способы решения одних и тех же задач.
Практическое пособие разработчика 1С Предприятие 8.3 — очень подробное пособие, описывающее приемы разработки с простыми и понятными примерами. Данная книга одна из самых лучших для изучения 1С программирования.
В данном пособии описывается язык запросов с нуля для тех, кто не знаком даже с SQL.
Настоятельно советуем книгу «Разработка сложных отчетов в 1С:Предприятие 8» для углубленного изучения СКД. Зачастую даже на форумах по 1С людям, спрашивающим совет по решению проблем с отчетами, рекомендуют именно ее.
Данная книга даст вам более углубленные знания 1С в качестве разработчика.
Если ранее вы занимались разработкой на 1С, но на обычных формах, советуем эту книгу. В ней вы получите много знаний по новому управляемому интерфейсу.
Так же много полезной информации, как по программированию, так и по работе с типовыми решениями вы можете узнать из наших статей по программированию.
Видеокурсы и уроки по 1С
Кроме книг мы рекомендуем просматривать видео-уроки для большей наглядности. На ютубе много каналов, посвященных программированию 1С с нуля, например:
Что должен знать начинающий программист 1С?
31 Января 2018В статье рассмотрим основные моменты, которые должен знать начинающий программист 1С. Это может быть полезно и тем, кто использует 1С:Предприятие и намерен обходиться своими силами, без постороннего обслуживания.
Начнем с определений:
Платформа 1С:Предприятие – это базовая программная среда, на которой работают прикладные решения (конфигурации). Платформа – это основа, с которой работают программисты и создают готовые решения для конечных пользователей.
Конфигурация — это программа (прикладное решение), разработанная на основе платформы 1С:Предприятие и предназначенная для автоматизации задач управления и учета в определенной области деятельности.
ОСНОВНЫЕ КОНФИГУРАЦИИ 1С
Для начинающего программиста важно знать основные конфигурации 1С, с которыми работает большинство компаний.
Наиболее распространенных типовых конфигураций 1С немного – менее десяти. Специалист по программированию должен четко осознавать разницу между конфигурациями, чтобы понимать какие данные хранятся в программе и каким образом их обрабатывать.
Например, 1С:Бухгалтерия предназначена для автоматизации бухгалтерских процессов на предприятии и позволяет вести учет в соответствие с требованиями контролирующих органов Российский Федерации.
Для ведения кадрового учета и расчета зарплаты необходимо изучить 1С:Зарплата и управление персоналом. В этом случае программист должен уметь наладить взаимосвязь кадровых и расчетных документов.
Для автоматизации складского учета, закупок, учета финансов и оперативной отчетности используют 1С:Управление торговлей. Именно этот программный продукт чаще всего дорабатывают под нужды компании.
1С:Розница — модифицированная версией 1С:Управления торговли и предназначена для автоматизации розничных магазинов с различной спецификой. Данная конфигурация 1С – универсальна для любого магазина, на базе нее программисты 1С разрабатывали множество вариаций для магазинов разных отраслей.
Все эти и другие конфигурации работают исключительно на платформе 1С:Предприятие. Если у пользователя не установлена платформа, то и программу он использовать не сможет.
ЯЗЫК ПРОГРАММИРОВАНИЯ 1С
Платформа 1С:Предприятие имеет свой язык программирования, разработанный Фирмой 1С, и полностью определяет функциональные возможности прикладных решений. В платформе определен набор базовых объектов со своими свойствами и методами — это константы, документы, справочники, регистры и многие другие. Весь набор этих объектов используется для решения различных задач автоматизации учета.
Встроенный язык программирования 1С является предметно-ориентированным. Опытные программисты говорят, что язык программирования 1С изначально кажется немного проще остальных. Сложность заключается в том, что программисту нужно вникнуть в предметную область, которую автоматизирует программа – бухгалтерия, производство, управленческий учет и т.д. Еще одна особенность языка программирования 1С, которая удивляет новичков — двуязычный код. Это значит, что код может быть написан на русском или английском языке.
ОСНОВЫ РАБОТЫ С БАЗАМИ ДАННЫХ 1С
База данных — это информация с которой работает платформа, Виды информации и способы их обработки определяются используемой конфигурацией. В одной программе 1С может быть несколько баз, все они будут иметь одинаковую структуру, однако в каждой из них могут учитываться разные данные. В крупных компаниях часто используется не одна, а несколько баз данных.
Например, база бухгалтерии и база зарплаты. После того как в базе зарплаты будут произведены все расчеты по выплате, данные необходимо передать в бухгалтерию, чтобы заплатить налоги.
Синхронизацией и обменом данными между базами, также занимаются программисты 1С.
ОСНОВЫ ЯЗЫКОВ ЗАПРОСОВ 1С
Очень важным этапом в изучении программирования 1С — освоение языка запросов.
Запросы – это один из основных приемов «1С:Предприятие» наряду со встроенным языком, который позволяет читать и обрабатывать данные, хранящиеся в базе.
Язык запросов создан для того, чтобы пользователь в удобном виде получал данные из информационной базы. С помощью языков запроса данные можно только обработать или сгруппировать. Изменение данных с помощью запросов невозможно.
ОСНОВЫ МЕХАНИЗМОВ ВЗАИМОДЕЙСТВИЯ С ДРУГИМИ ПРОГРАММАМИ
В 1С:Предприятие важно настроить выгрузку данных из Microsoft Office, т.к. часто приходится сохранять различные отчеты, табличные данные в файлах Excel или Word. Или наоборот, чтобы загрузить данные из Excel необходимо создать специальную обработку. Предварительно нужно произвести все технические настройки, считать данные из файла и сформировать колонки с аналогичными названиями в 1С.
ОСНОВЫ БУХУЧЕТА, СКЛАДСКОГО УЧЕТА ИЛИ ВЕДЕНИЯ ТОРГОВЫХ ОПЕРАЦИЙ
Стоит только посмотреть вакансии: в каждой второй для программиста 1С требуется знание бухгалтерского и управленческого учета. Как уже говорилось ранее, программист должен «понимать» область в которой он работает. Чтобы правильно форматировать обработки и выстраивать алгоритмы должна быть ясна логика программы.
В тандеме технический специалист-бухгалтер бывает ситуация: программист не понимает, чего от него хочет бухгалтер, а бухгалтер не понимает, какие возможности есть у программы, как она работает. Чтобы не возникало недопонимания, нужно говорить на одном языке. Чтобы работать с пользователями программы 1С:Бухгалтерия, технический специалист должен понимать «логику бухгалтера», владеть терминологией и знать основы бухгалтерского учета. Часто бухгалтеры пользуются доработанными формами документов. Например, для учета путевых листов или изменения валюты учета. Главная задача программиста 1С — сделать так, чтобы бухгалтеры стабильно работали, вовремя сдавали отчетность, а заложенная аналитика документов не терялась.
Систематизируйте базовые навыки и научитесь решать сложные задачи на
Комплексном курсе по программированию в системе «1С:Предприятие 8.3»
Возможно, Вас так же заинтересует:
1C или web — какое направление выбрать? — Хабр Q&A
Доброго времени суток всем! Хочу спросить вашего совета. В данный момент я приближаюсь к окончанию вуза по профилю прикладная информатика в экономике. Честно говоря, поступая на данную специальность, я не имел ни малейшего представления о том, какой будет моя будущая профессиональная деятельность. Но в последний год в силу понятных причин этот вопрос приобрел для меня первостепенную важность.К настоящему моменту круг направлений для развития сузился до двух вариантов. Основным для себя я считаю разработку на 1С, так как на мой взгляд это наиболее соответствует моей специальности и кажется мне вполне интересным. Помимо этого, я уже потратил на изучение этой платформы некоторое время и уже имею некоторый объем знаний, пока только теоретических. Но самое главное — в настоящий момент у меня имеются реальные варианты трудоустройства по 1Сному профилю. Казалось бы, все предельно ясно, пора переходить к решительным действиям, но…
Но я человек по своей натуре сомневающийся. Вот и сейчас пребываю в сомнениях по поводу того, СТОИТ ЛИ идти в 1С? На просторах Инета я встречал противоречащие друг другу мнения об этой платформе. Может, оно не стоит того и мне следует переориентироваться на что-нибудь другое, пока еще не совсем поздно? Как наиболее очевидный вариант для себя я рассматриваю для себя что-нибудь из сферы web, так как в вузе я получил базовое представление о HTML и CSS, но опять же, только базовое, опыт участия в реальных проектах у меня отсутствует. И да, в отличие от 1С, мне не предлагают и вряд ли предложат стажировку и обучение по этому профилю. Так что в поиске работы придется рассчитывать исключительно на свои силы и везение.
В принципе, я хотел бы просто развеять свои сомнения и остаться на 1С. На текущий момент она мне вполне интересна и не вызывает отрицательных эмоций. Искать работу за пределами РФ я не собираюсь, ну разве что в случае атомной войны или чего-нибудь в этом роде, не мыслю себя живущим за границей. То есть аргумент востребованности за рубежом играет для меня несущественную роль. Ну и наконец, я далеко не гик, мне не важна крутость или оригинальность технологий, с которыми я буду работать. Просто хотелось бы иметь возможность стабильно иметь средний уровень доходов, хотя конечно перспективы роста до чего-нибудь более сладкого только приветствуются. Собственно, вопрос: есть ли различие в этом плане между 1С и web? Есть ли между этими направлениями ЯРКО выраженная разница в востребованности на рынке труда, уровнем ЗП, возможностях карьерного роста и прочим? Стоит ли вообще заморачиваться по поводу веб? Заранее спасибо.