для каких целей необходимо программирование написание программного кода в 1с предприятие 8
Встроенный язык
Встроенный язык является важной частью технологической платформы «1С:Предприятия 8», поскольку позволяет разработчику описывать собственные алгоритмы функционирования прикладного решения.
Встроенный язык имеет много общих черт с другими языками, такими как Pascal, Java Script, Basic, что облегчает его освоение начинающими разработчиками. Однако он не является прямым аналогом какого-либо из перечисленных языков.
Событийная ориентированность встроенного языка
Назначение встроенного языка в системе 1С:Предприятие определяется идеологией создания прикладных решений. Прикладные решения в 1С:Предприятии 8 не кодируются целиком. Большая часть прикладного решения создается разработчиком путем визуального конструирования — создания новых объектов конфигурации, задания их свойств, форм представления, взаимосвязей и пр. Встроенный язык используется лишь для того, чтобы определить поведение объектов прикладного решения, отличное от типового, и создать собственные алгоритмы обработки данных.
По этой причине модули, содержащие текст на встроенном языке, используются системой в конкретных, заранее известных ситуациях, которые могут возникнуть в процессе работы прикладного решения. Такие ситуации называются событиями. События могут быть связаны с функционированием объектов прикладного решения или с самим прикладным решением, как таковым.
Например, с функционированием объекта прикладного решения Справочник связан ряд событий, среди которых есть событие ПередЗаписью:
Это событие возникает непосредственно перед тем, как данные элемента справочника должны быть записаны в базу данных. Разработчик, используя встроенный язык, может описать алгоритм, который, например, будет проверять корректность данных, введенных пользователем. Разместив этот алгоритм в соответствующем модуле, разработчик обеспечит то, что каждый раз, как пользователь будет выполнять запись элемента справочника, система будет выполнять созданный разработчиком алгоритм и проверять, не забыл ли пользователь заполнить обязательные реквизиты справочника.
Таким образом можно сказать, что встроенный язык является скриптовым языком для программирования бизнес-логики, а использование модулей на встроенном языке является событийно-зависимым, т. е. выполнение модулей происходит при возникновении определенных событий в процессе функционирования прикладного решения.
Универсальные коллекции значений
Встроенный язык поддерживает работу с большим количеством разнообразных объектов. Безусловно, основную группу объектов составляют прикладные объекты, позволяющие описывать алгоритмы функционирования бизнес-логики.
Однако не менее важной группой являются объекты, предназначенные для хранения временных наборов данных в течение сеанса работы пользователя. Как правило, они служат для вспомогательного сбора, группировки, анализа и обработки информации:
Перечислим кратко их возможности:
Массив
Представляет собой пронумерованную коллекцию значений произвольного типа. К элементу массива можно обращаться по его индексу. В качестве элементов массива могут выступать, в частности, другие массивы. Это позволяет создавать многомерные массивы.
Структура
Представляет собой поименованную коллекцию, состоящую из пар ключ — значение. Ключ может быть только строковым, значение — произвольного типа. К элементу структуры можно обращаться по значению его ключа, т. е. по имени. Обычно используется для хранения небольшого количества значений, каждое из которых имеет некоторое уникальное имя.
Соответствие
Также как и структура, представляет собой коллекцию пар ключ — значение. Однако, в отличие от структуры, ключ может быть практически любого типа.
Список значений
Используется, как правило, для решения интерфейсных задач. Позволяет строить динамические наборы значений и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Он может содержать значения любого типа, кроме того, в одном списке типы хранимых значений могут быть разными.
Например, список значений может использоваться для выбора конкретного документа из списка возможных документов, сформированного по сложному алгоритму.
Таблица значений
Таблица значений позволяет строить динамические наборы значений и манипулировать ими. Она может быть наполнена значениями любого типа, и в одной таблице типы хранимых значений могут быть разными.
Одним из примеров использования таблицы значений может служить организация представления в форме списка элементов справочника, отобранных по сложному алгоритму.
Дерево значений
Дерево значений представляет собой динамически формируемый набор значений любого типа, похожий на таблицу значений. В отличие от таблицы значений, строки дерева значений могут образовывать иерархические структуры: каждая строка дерева может иметь набор подчиненных строк, каждая из подчиненных строк, в свою очередь, также может иметь набор подчиненных строк и так далее. При этом поиск значений, сортировка, получение итогов могут осуществляться либо по текущему уровню иерархии, либо включая все подчиненные.
COMSafeArray
Представляет собой объектную оболочку над многомерным массивом SAFEARRAY из COM. Позволяет создавать и использовать SAFEARRAY для обмена данными между COM-объектами.
Фиксированный массив
Неизменяемый массив. Массив заполняется системой при инициализации объектов данного типа или разработчиком, с помощью конструктора.
Редактор текстов и модулей
Для создания и изменения текстов на встроенном языке разработчик может использовать редактор текста и модуля, обладающий удобными средствами создания, редактирования и синтаксической проверки модулей. Подробнее…
👨💼 Есть ли смысл изучать программирование для 1С: карьерные перспективы и возможности фриланса в 2021 году
История создания продуктов 1С
Версии программы для DOS не получили широкого распространения. Первым шагом к успеху стала “1С:Бухгалтерия 6.0” для WIndows 95. Основным ее отличием был встроенный язык, который позволял менять бухгалтерские проводки и не требовал от программиста высокой квалификации. Распространялся продукт через фирмы-партнеры, которые занимались его внедрением и сопровождением.
В 1999 вышла новая версия – платформа “1С предприятие 7.7”. Это был очень хороший продукт, который еще используется в некоторых организациях – вакансии на программиста 1С со знанием платформы 7.7 встречаются по сей день. Версия 7.7 – это уже не просто “Бухгалтерия”. Доступна также “Торговля и Склад”, “Зарплата и Кадры”, “Бухгалтерия УСН”, “Комплексная” и множество других конфигураций. Есть и конфигурации для стран СНГ – это уже целая отрасль!
Интерфейс конфигурации 1С:Бухгалтерия 4.5 платформа 7.7 » data-src=»https://media.proglib.io/posts/2021/07/19/b1b2c9e185294abbc9a4a6e816ffadb6.png» > Интерфейс конфигурации 1С:Бухгалтерия 4.5 платформа 7.7
Основная ставка была сделана на бизнес. Большое количество специалистов давало возможность быстро внедрить, изменить и доработать программу за относительно небольшую сумму. Также фирма 1С установила фиксированную ставку за час обслуживания для партнеров – около 40 долларов.
В 2003 году выходит версия платформы 8.0. Фирма 1С делает ставку на развитие международных рынков сбыта и готовится соревноваться с мировыми гигантами в области ERP-систем. Уже в версии 8.2 появляются механизм клиент-сервер и веб-клиент. В 2013 году выходит версия платформы 8.3.
Ситуация на сегодняшний день
За прошедшие годы было создано огромное количество конфигураций от самой фирмы 1С и фирм-партнеров, которые закрывают потребности как индивидуального предпринимателя, которому требуется только сдача отчетности, так и крупных производственных или торговых холдингов. Кроссплатформенность, работа в браузере, мобильное приложение – помимо этого конфигурации 1С доступны в облаке. Это очень удобный механизм, ведь чтобы начать пользоваться программой достаточно оплатить доступ и иметь устройство с доступом в интернет.
Платформа 1С – это структура метаданных, их свойств и методов, с помощью которых программист описывает конкретную конфигурацию. Например, с помощью структуры “Справочники” можно создать справочник сотрудников, описать, какие в нем будут храниться данные, и разработать интерфейс пользователя – форму справочника. С помощью структуры метаданных “Документ”, можно создать, скажем, документ “Прием на работу”. Структуры “Регистры сведений”, “Регистры накопления”, “Регистры расчета”, “Регистры бухгалтерии”, “Планы счетов” служат для хранения и быстрого получения данных.
Например, с помощью регистра накопления “Продажи” легко получить продажи за произвольный период. Сделать это можно с помощью структуры “Отчеты”, в которых используются похожие на SQL запросы (они также пишутся на русском языке.) В отчетах активно используется механизм “Системы компоновки данных” для быстрого получения и вывода информации.
Блок бизнес-процессов и задач предназначен для автоматизации порядка взаимодействия пользователей при совместной работе. Его возможности широко применяются в различных системах документооборота и не только в них. Не так давно появились такие новые механизмы, как чат-боты. Название говорит само за себя. В целом даже по названию структур метаданных понятно, что это и зачем. Также существует блок обмена между конфигурациями. Стоит упомянуть про конфигурацию “Библиотека стандартных подсистем” – это конфигурация-шаблон для разработки прикладных решений.
Продукты 1С эффективно работают практически в каждой организации. Если окна вашей квартиры выходят на какой-либо завод, будьте уверены – и на этом предприятии тоже используется программа от 1С. Соответственно и устроиться в любом городе России программисту 1С очень легко.
Экзамен “1С:Специалист” довольно сложен, и около 80% претендентов не сдают его с первого раза. Проводится тестирование в 2 этапа: “1С:Профессионал” и собственно “1С:Специалист”. Сами франчайзи весьма разнообразны: на рынке есть как небольшие фирмы со штатом в десять человек, так и очень крупные холдинги с тысячами человек в штате. В крупных фирмах можно наблюдать большое разнообразие методов работы, организации труда и вариантов оплаты. Единственное, что роднит мелких и крупных франчайзи – наличие менеджера по продажам, программистов и консультантов 1С.
Куда пойти без опыта?
Для желающих устроиться программистом 1С без подтвержденного стажа можно выделить четыре основных варианта:
1. Муниципальная организация
Зарплата здесь обычно минимальная: в 2021 году можно рассчитывать 14 – 30 тыс. руб. Требования к кандидату также минимальны, а точнее – практически никаких. Многие организации годами не могут найти программиста, а значит там будут рады всем. В некоторых организациях можно договориться на полставки и частичную занятость, что подходит студентам старших курсов. Часто помимо ведения платформы 1С необходимо поддерживать парк техники, консультировать пользователей и делать некоторое количество другой работы в сфере ИТ.
2. Производство
3. Торговая организация
Существенное отличие торговых организаций от всех прочих – это большая “движуха”. Если что-то сломалось, его нужно исправить еще вчера. Различные выгрузки-загрузки из баз, обмены с сайтами – все это должно работать в режиме 24 на 7, поскольку простои в торговле оборачиваются большими убытками для предпринимателей. В таких организациях может быть вакансия “Ночной программист 1С”, которая востребована у жителей Дальнего Востока.
4. Франчайзи 1С
Объединяет все предыдущие варианты, так как может выполнять заказы для любой сферы деятельности. Франчайзи набирают как программистов с опытом, так и начинающих. Опять же, сертификат от 1С будет являться хорошим подспорьем для устройства во франч. Программисту здесь предстоит решать массу задач – от простых до очень сложных. Часто франчайзи всячески поощряют обучение сотрудников и получение ими новых сертификатов 1С.
Если у программиста есть хорошие задатки продавца, то он открывает свою фирму. Почему программисты 1С стремятся уйти во фриланс? Прежде всего это гибкий график работы. Нет необходимости трудиться пять дней в неделю с 9 до 6. Если решил сделать выходной посреди недели и съездить в парк отдыха во вторник – все в твоей власти! Понятная мотивация: чем больше сделал, тем больше получил. Если работаешь на перспективу, то работаешь на себя, а не на фирму.
Общие рекомендации по трудоустройству
Прежде всего необходимо иметь грамотно составленное резюме. На собеседовании вам предложат написать тестовое задание: обычно это тот же тест “1С:Специалист”. Чтобы не прорешивать все возможные варианты, спросите, можно ли прислать уже сделанный вами при получении сертификата тест. Работодатели часто на это соглашаются. Подготовьте саму конфигурацию с тестом и хорошее описание к решению.
Таким образом за один день можно пройти несколько собеседований. Получив первое предложение от работодателя, не спешите устраиваться. Скажите, что дадите ответ через несколько дней. Получите несколько предложений, хорошо взвесьте все плюсы и минусы. Посоветуйтесь с опытным программистом 1С.
Если вы собираетесь всерьез осваивать профессию, обратите внимание на курс факультета 1С-разработки образовательной онлайн-платформы GeekBrains. Он подойдет не только новичкам, но и пользователям системы, а также начинающим программистам. За 8 месяцев практикующие разработчики подготовят вас к экзаменам «1С: Профессионал» и «1С: Специалист», а опытные HR-менеджеры помогут составить резюме и назначить собеседования. Успешно завершившие курс студенты добавят в портфолио несколько кейсов и получат диплом о профессиональной переподготовке.
Как освоить программирование 1С с нуля?
Введение
С чего начать новичку, если вы хотите освоить программирование 1С с нуля? Есть несколько путей обучения, все они имеют свои плюсы и минусы — как обучение в домашних условиях, так и очные курсы в учебных центрах. В этой статье я постарался собрать информацию по самостоятельному обучению 1С, чтобы вам проще было подобрать подходящий инструмент и стратегию — будь-то чтение книг и подготовка по бесплатным видео на youtube, или прохождение курсов в онлайн-школах.
Статья вышла большим лонгридом, поэтому пользуйтесь оглавлением, и смело переходите к интересующему разделу.
Содержание
Можно ли самостоятельно освоить 1С программирование с нуля?
Забегая вперед, уверенно отвечу — конечно можно! Распространен стереотип, что программировать можно научиться, только имея профильное образование в ВУЗе, или особый склад мышления, характер, и т.п.
Да, чтобы изучить программирование 1С в домашних условиях, да еще и без наставников, самостоятельно — нужны определенные качества: умение искать информацию, самодисциплина, уверенность в своих силах.
В свое время я так и начинал изучать синтаксис и приемы работы в 1С — тогда еще 7.7. У меня были только книжки из поставки — руководство разработчика, описание языка и т.п. Плюс, кодовая база конфигурации, с которой мне пришлось работать. Там можно было подсмотреть те или иные примеры кода, типовые подходы, какие-то готовые решения.
Так что, если решили изучить программирование на языке 1С с нуля — не бойтесь! Все достижимо.
Почему стоит выбрать именно программирование на 1С?
Этот раздел предназначен в первую очередь для людей, решивших начать карьеру в IT, но стоящих на распутье. Андроид? Кровавый Enterprise? Веб-разработка? Или все же что-то ближе и роднее, на русском языке, да еще вроде и платят неплохо?
У языка и экосистемы 1С есть свои неоспоримые плюсы по сравнению с другими языками программирования:
Вот наглядный пример с обзором зарплат.
Порог входа достаточно невысокий, и стажером можно устроиться, в принципе, даже без опыта работы. Но тут есть важный нюанс – нужно будет активно расти и прокачивать навыки программирования и разработки в 1С.
Но кто же такие программисты 1С, и почему я думаю, что…
Программирования 1С не существует?
Дисклеймер: изложенное ниже – это исключительно мое мнение, сложившееся за полтора десятка лет в профессии.
Итак, почему же я так считаю? На самом деле, программирование на 1С невозможно без параллельной работы в графической среде разработки – конфигураторе. Ну то есть, я могу представить абстрактного программиста 1С в вакууме, который открывает условно, блокнот, и пишет там код. Это и будет чистое программирование.
А вот то, чем на самом деле занимаются 1С-ники – это именно разработка. Настройка плана счетов, добавление печатной формы, разработка командного интерфейса, ролей и прав доступа – все это можно делать без единой строчки кода!
Язык 1С – это не язык программирования общего назначения. Он достаточно специализирован, и имеет достаточно узкую сферу применения в чистом виде – автоматизацию учета и бизнес-логики – но уж в ней он разворачивается во всей красе!
5 вариантов обучения программированию в 1С
Все мы разные, усваиваем информацию с разной эффективностью и через разные каналы. Поэтому нет однозначно лучшего варианта обучения, и зачастую бывает полезно комбинировать эти варианты для максимального эффекта.
Самый очевидный, но не самый простой способ научиться программировать на 1С – это взять и начать программировать на 1С! Банально. Обложиться документацией, держать под рукой справку, и пробовать что-то кодить. Бесплатные ролики на Youtube, технические статьи или форумы могут также составить подспорье. Увы, КПД такого подхода будет значительно ниже.
Зачастую отсутствие правильно поставленной базы приводит к печальным последствиям – низкому качеству кода, большому количеству логических и архитектурных ошибок, неэффективному использованию имеющихся инструментов платформы 1С. Поэтому далее под вариантами обучения я рассматриваю именно разные форматы обучающих материалов. Итак, поехали!
1. Книги
Условно их можно разделить на несколько видов.
2. Бесплатные видео уроки и статьи по 1С
Данный формат может отлично подойти для решения конкретных прикладных задач, и чтобы закрыть пробелы в знаниях. Статьями и уроками хорошо пользоваться, когда уже сносно умеешь разрабатывать на 1С, но каких-то аспектов программирования не знаешь. У бесплатных уроков по 1С есть весьма значимый недостаток – они чаще всего разрознены, и не дают целостной картины. Но это же является и их главным достоинством – вам нет необходимости изучать все возможности платформы, достаточно найти урок для конкретного случая. По бесплатным видео и статьям можно научиться делать в 1С очень многое — программировать http-сервисы, настраивать обмен или разобраться в механизмах расчета.
3. Курсы по программированию в 1С в видео формате
Это мой любимый формат, и не только при изучении разработки в 1С! Деление видеокурсов примерно такое же, как и для книг. Соответственно, могут быть как общие курсы по основам программирования на языке 1С, так и узкоспециализированные курсы для специалистов. Что мне нравится в формате видео – это возможность многократного перепросмотра, возможность поставить на паузу или начать с нужного места. Также, формат видео удобен тем, что на экране вы видите тот же самый интерфейс, кнопки, меню и прочее, что и в самой среде разработки! И это выгодно отличает видео курсы 1С программирования от книг.
Минус видео формата в том, что из видео код не скопируешь! В этом случае хорошо, когда к видеоуроку прилагаются тексты модулей, обработки или выгрузка базы, и прочие вспомогательные файлы. Кстати, в моем видеокурсе «Разработчик 1С с нуля» используется именно такой подход. Всю кодовую базу можно посмотреть в приложенных файлах.
4. Онлайн-курсы
В интернете есть несколько онлайн-школ, которые предлагают курсы по 1С в онлайн формате. С участием преподавателя, домашними заданиями, сертификатами и часто даже с обещанием трудоустройства. В среднем, сроки обучения составляют около 7 месяцев — это вполне достаточное время, чтобы с нуля научиться 1С программированию. Цена на эти курсы весьма немаленькая, но для многих начинающих программистов 1С это будет хорошим способом мотивировать себя и не отлынивать от обучения. Кому-то, возможно, не хватает самодисциплины, либо комфортнее обучаться в группе, либо по душе возможность общаться с другими учениками и преподавателем – много причин, чтобы выбрать онлайн-формат. И если вас устраивает цена и качество материала – почему бы и нет?
5. Оффлайн занятия в учебных центрах
Получить консультацию
- В чем польза консультации? Совершенно бесплатно Вы сможете получить ответы на волнующие Вас вопросы, например такие:
- Я боюсь, что не справлюсь. У меня нет опыта программирования. Получится ли у меня сменить профессию и стать программистом 1С? Я хочу освоить 1С и тем самым расширить свои возможности как специалиста. Какие у меня будут перспективы? Окупятся ли мои инвестиции в обучение с первых зарплат? Я хочу экономить время, нервы и деньги на услугах приходящих программистов. Поможет ли мне в этом знание программирования на 1С?
Оставьте заявку, и мы подберем удобное для Вас время для бесплатной консультации
Разобравшись с форматами обучения программированию 1С, мы добрались до следующего вопроса.
Зачем книги и курсы по 1С, если есть официальная документация?
На самом деле, это не противоположные вещи, а взаимодополняющие! Курсы не могут заменить, да и не ставят перед собой целью заменить обширную официальную документацию по разработке на платформе 1С!
Нельзя научиться хорошо программировать, только лишь посмотрев видео. Надо брать и программировать! Но уже с пониманием: как лучше, а как делать не стоит. Официальная документация разгрузит ваш мозг от необходимости зазубривать все синтаксические конструкции, параметры, настройки и прочее.
Нельзя научиться хорошо программировать, только лишь изучая документацию. У вас не сложится целостного представления о лучших практиках, подходах, правильном использовании возможностей платформы 1С. И – да простят меня читатели! – без понимания «как правильно» легко начать писать говнокод.
Изучая язык программирования 1С только по официальной документации, вы рискуете научиться плохим паттернам программирования – будете изобретать велосипеды вместо использования штатных механизмов, будете лепить костыли из-за неверного выбора объектов, или архитектуры, или из-за непонимания клиент-серверного взаимодействия, и т.п.
Поэтому я придерживаюсь такого подхода – обучаться именно при помощи курсов или книг, с четкой структурой и последовательным изложением, а документацию держать под рукой, чтобы закрывать различные технические моменты.
Кому может быть полезным программирование 1С кроме программистов?
Возможно, этот вопрос покажется вам странным. Но не торопитесь с выводами. Я повидал много примеров, когда навыки программирования на 1С оказывались полезными для совершенно разных профессий. Ниже я приведу несколько таких кейсов.
Аудиторы и бухгалтера. Даже поверхностное владение языком запросов и конструктором отчетов открывает для бухгалтеров новые двери! Различные проверки правильности учета, поиск ошибок в документах, настройки печатных форм – и все это без необходимости нанимать програмиста! Из показательного – довольно много лет назад аудиторы крупного холдинга, занимающегося металлопрокатом, были просто в восторге, что научились в консоли писать отчеты на языке запросов 1С. В крупном холдинге разработка отчетов и доработка конфигурации были довольно забюрократизированы, с кучей согласований и обсуждений, и все это превращалось в очень затянутый процесс. А тут они получили инструмент формирования нужных отчетов без обращения к программистам 1С! И сэкономили себе вагон времени и нервов.
Руководители небольших компаний. Навыки программирования на 1С для них – в некоторой степени защита от мошенников. Т.е. им труднее «втюхать» простую доработку по цене на порядок выше. Также, это позволяет им трезво оценивать сложность планируемых доработок, компетентность нанимаемых программистов 1С (а ведь зачастую совета спросить не у кого, в штате своего программиста нет, и приходится верить на слово). А для микро-бизнеса это еще и возможность существенно сэкономить бюджет, которого вечно не хватает!
Тут кейс такой. Двое ребят основали небольшой магазин по продаже учебной литературы. И им очень пригодились навыки программирования в 1С, так как они самостоятельно смогли дорабатывать загрузку прайсов поставщиков из Excel, не прибегая к услугам приходящих 1Сников, и тем самым сократили расходы на старте, что позволило им успешно стартовать и не закрыться в первый год.
Системные администраторы в небольших компаниях. Здесь все проще. Зачастую, им приходится тяжелее всего – ведь обычные пользователи часто не делают различия между «айтишниками». И приходится уметь все понемногу – и принтер заправить, и копию базы сделать, и ошибку в отчете найти.
Наверное, есть и множество других примеров – я привел только те, с которыми лично столкнулся за годы работы.
Примерный план самостоятельного обучения с нуля
Итак, вы решили во что бы то ни стало пополнить ряды 1Сников, и хотите научиться программировать в 1С с нуля. Так с чего же начать, как продолжить и когда остановиться?
На последний вопрос отвечу сразу – увы, обучение в мире 1С не заканчивается никогда! Стоит вам только начать, втянуться, и вы обнаружите, что всегда есть что-то, чего вы не знаете. Появляются новые задачи, платформа 1с эволюционирует, появляются новые объекты и конструкции языка – и этот процесс неостановим. Только привыкли к веб-сервисам — держите http-сервисы и json! Освоили и это? Вот вам система взаимодействия и чат-боты.
А теперь вернемся к первым двум вопросам.
С чего начать разбираться в 1С программировании? Если вы собираетесь изучать программирование 1С с нуля, то самое лучшее – это начать с чего-то простого, с азов разработки в 1С. В зависимости от того, какой формат вы предпочитаете, могу посоветовать
Вне зависимости от того, как вы собираетесь дальше развиваться – в сторону бухгалтерии, управленческого учета, или расчета зарплаты – настоятельно рекомендую подтянуть знания по запросам, разработке отчетов на СКД, и интерфейсам. Это универсальные навыки, они пригодятся при работе с любой конфигурацией.
Следующий шаг – выбрать изначальную специализацию. Классических блока – три.
Плюс есть множество их комбинаций и дополнительные направления, такие как бизнес-процессы, веб-сервисы и прочее. Но для начинающего разработчика, повторюсь, достаточно определиться с одним из трех близких по духу блоков, и прокачивать его в первую очередь.
Тут важно оценить ваши исходные условия, бэкграунд. Приведу несколько типовых примеров:
В принципе, освоив основы программирования на языке 1С и поглубже изучив хотя бы один из крупных блоков платформы, вы уже сможете пробовать ходить на собеседование на начальные позиции.