Начать программирование в 1с. Рейтинг RedMonk: TypeScript и Kotlin - самые быстрорастущие языки программирования

Войдите на сайт как ученик

Войдите как ученик, чтобы получить доступ к материалам школы

Внутренний язык программирования 1С 8.3 для начинающих программистов: установка 1С и ваша первая программа на языке 1С

Если вы не читали введение к урокам - пожалуйста, прочтите его: .

Установка учебной версии 1С

Для обучения программированию нам понадобится 1С 8.3 (не ниже 8.3.4.482) .

Если у вас есть установленная 1С версии 8.3 - используйте её. Если нет - скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей.

Задание №1 : скачать и установить учебную версию 1С 8.3.

Инструкция для выполнения:

  • Распакуйте архив, скачанный по ссылке в отдельную папку на рабочем столе:
    • ссылка на скачивание с Dropbox (вариант №1)
    • ссылка на скачивание с Mail.ru (вариант №2)
  • Запустите файл "setup.exe".
  • Нажмите "Далее", "Далее", "Установить".
  • Дождитесь окончания установки.

После выполнения Задания №1 на вашем рабочем столе должен появиться вот такой ярлык:

Поздравляю! Платформа 1С установлена и очень скоро вы сможете написать первую программу.

Первая программа

Это уже стало традицией для программистов - изучая новый язык, первое, что на нём пишут это программу, печатающую на экране фразу "Hello, World!".

Не станем исключением и мы. Но, будучи русскими программистами, заставим компьютер вывести на экран фразу "Привет, Мир!".

Задание №2: написать программу на языке 1С 8.3, которая при запуске выводит на экран фразу "Привет, Мир!".

Инструкция для выполнения:

1. Запустите ярлык "1С:Предприятие" на вашем рабочем столе.

2. Перед вами открылся список баз 1С. Как видите, он пуст. Давайте создадим учебную базу, в которой и будем программировать. Нажмите кнопку "Добавить ".

3. Выберите пункт "Создание новой информационной базы " и нажмите кнопку "Далее ".

4. Выберите пункт "Создание информационной базы без конфигурации... " и нажмите кнопку "Далее ".

5. В качестве имени базы укажите "Учебная " и нажмите кнопку "Далее ".

6. В качестве каталога базы укажите любую пустую папку (в данном случае это папка "Учебная" в моих документах). Нажмите кнопку "Далее".

7. Укажите вариант аутентификации "Выбирать автоматически ", режим запуска "Толстый клиент ". В качестве версии 1С:Предприятия ничего не указывайте, нажмите кнопку "Готово".

8. Как видите, в списке, наконец, появилась первая база, которую мы только что создали сами! Начнем писать код. Нажмите кнопку "Конфигуратор ".

9. В открывшемся окне, выберите через меню "Конфигурация "->"Открыть конфигурацию ".

10. В открывшейся слева панели нажмите правой кнопкой мыши на слове "Конфигурация " и выберите из списка "Открыть модуль управляемого приложения ".

11. Открылось окно с редактором. Сюда можно писать текст! С ним мы и будем работать в дальнейшем.

12. Теперь, не задумываясь, просто перепишите в это окно следующий текст:

Сообщить("Привет, Мир!" ) ;

13. Отлично! Код нашей первой программы готов. Запустим его на выполнение. Через меню "Отладка "->"Начать отладку " (или клавиша F5 ).

14. На вопрос ответим утвердительно.

15. Спустя секунду или две запустится 1С и в окне снизу появится надпись "Привет, Мир!". Мы добились от компьютера того, чего хотели. Поздравляю вас с первой программой!

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

Профессия 1С Программист – привлекает к себе людей, которые хотят работать по призванию в сфере информационных технологий и автоматизации бизнес процессов предприятия. 1С Программист – на сегодняшний день востребован, небольшой обзор и мысли по этому поводу я делаk в статье: Стать 1С Программистом.

Чтобы стать 1С Программистом надо:
1. Иметь желание
2. Запастись терпение
4. Необходима программа 1С
5. ЖКК (Желто-красные книжки) и курсы по 1с
6. Практика, практика и еще раз практика
Рассмотрим все по подробней.

Хочу стать программистом 1С

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

Начать изучение 1С

1. Нам необходимо программа 1С, для начала подойдет , ее можно скачать или купить коробку вместе с ЖЖК.
2. Это курсы как бы там не было и кто бы, что не говорил, они нужны.
Во-первых, это сокращает время обучения больше чем на половину, второе курсы стимулируют.
Я без курсов изучал безрезультатно 1С два года, работа (работал системным администратором), дом, семья и на 1С время не оставалось.

С официальными курсами 1С ознакомитесь на сайте 1С, Курсы 1С — обучение и подготовка к экзаменам

Но я бы советовал курсы Евгения Гилева и Насипов Фарита «Профессиональное программирование в 1С:Предприятии 8.х » . Для начала зайдите сайт ознакомитесь материалами и оцените сами как вам данный курс.

Если решили то запишитесь на курс «1С:Программист – Быстрый старт в профессию» , данный курс стоит и за время его прохождения вы точно узнаете ваше это или нет.

3. Вы приобрели «1С:Предприятие 8.2. Версия для обучения программированию» и ЖЖК, записались на курсы, тогда сразу же принимайтесь к подготовке на сертификат .

Если вообще не знайте что такое программирование, то вам сюда .

Этапы обучения в школе программирования (или как стать программистом 1С с нуля)

Итак, вы решили стать программистом 1С.

Я заметил, что среди людей, которые записываются ко мне на занятия преобладают следующие группы:

1) Специалисты, которые вынуждены заниматься сопровождением 1С в нагрузку к своей основной работе. В основном это, конечно же, системные администраторы .

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

3) Уже состоявшиеся программисты на других языках, недавно перешедшие в 1С. Такие люди уже обладают достаточно хорошей алгоритмической подготовкой и опытом программирования.

Но с чего начать? Куда и как лучше направить свои усилия? Растерянность на данном этапе вполне понятна.

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

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

В результате перед обучающимся встают совершенно неразрешимые с его точки зрения проблемы, и всё только потому что он начал не с того конца, не в том порядке изучать предмет.

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

Прочите описанные ниже этапы обучения и найдите для себя тот, с которого мы начнём двигаться к цели вместе с вами.

Этапы обучения:

1. Изучение основ внутреннего языка программирования 1С 8.

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

На этом этапе происходит преодоление порога вхождения в программирование, который для людей, не программировавших ранее, может быть достаточно высок.

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

2. Выполнение продвинутых упражнений на знание внутреннего языка программирования 1С 8.

Основы основами, но ничто не заменит опыт работы с языком, полученный при самостоятельной работе, при преодолении трудностей, решении реальных задач.

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

Данный этап обучения подойдёт в качестве отправной точки, если вы уже имеете опыт написания программ на других языках программирования - .

3. Изучение языка запросов 1С 8.

Следующий этап в обучении разработчика - изучение запросов.

Это необходимый этап, так как современные реалии диктуют, что любое получение учетных данных в 1С должно происходить при помощи запросов. Объектная техника - только для изменения данных. Опять же это связано с клиент-серверной архитектурой и ориентацией на веб - .

4. Выполнение продвинутых упражнений на знание языка запросов в 1С 8.

Основы основами, но, чтобы научиться писать запросы - нужно их писать.

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

Данный этап обучения подойдёт в качестве отправной точки, если вы уже имеете опыт написания запросов в 1С или SQL - .

5. Создание отчетов и обработок для системы 1С:Предприятие 8.

Теперь, когда остальные этапы позади, можно приступать к самому интересному.

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

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

На разработку отчётов при помощи системы компоновки данных.

6. Доработка существующих конфигураций.

На этом этапе начинается работа с метаданными конфигураций: создание документов, справочников, регистров и другие подобные задачи.

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

До этого этапа доходят немногие, и ещё меньшему числу разработчиков 1С он действительно нужен в работе. Потому что 80% доработок для 1С можно и нужно делать без изменения самой конфигурации. Для этого используются внешние отчеты и обработки.

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

В этой статье я попытаюсь Вам рассказать. как с нуля, в кратчайшие сроки, изучить 8.3 и 8.2. Причем не только изучить, но и монетизировать свои знания .

Начало — самое трудное в любом деле. Чтобы совершить первый шаг. я рекомендую ознакомиться с предметной областью — бухгалтерией, торговлей, учетом з/п. Начать следует с понимания торговли: требуется знание основных бизнес-процессов любой компании: покупка товаров/сырья, продажа товара и т.д. Следующий шаг — понимание основ бухгалтерского учета.

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

Для обучения программе 1С 8.3 с нуля, в виде практической части, рекомендую установить самые распространенные типовые конфигурации — « » и « «. Создайте в базе тестовую организацию, проведите , сделайте и т.д. Проведите в программе 1C все действия, встречающиеся в повседневной жизни предприятия.

Начинаем программировать в 1С

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

Получите 267 видеоуроков по 1С бесплатно:

Создайте документ поступления, оприходуйте товар. Создайте документ продажи — продайте. Постройте , в котором можно будет увидеть товародвижение. Разработайте печатную форму к документам. Не рекомендую сразу лезть в «сложные» типовые конфигурации, первый этап программирования в 1 С 8.3 с нуля — понимание назначений объектов метаданных.

Разъясните для себя, что такое , . Особо важный пункт в изучении программирования 1С — встроенный . Без него невозможно эффективно получать данные из системы. Возможно, для интереса, Вы можете найти знакомых, которым нужна была своя «уникальная» программа. Вы можете договориться с ними о разработке такой программы бесплатно или за небольшое вознаграждение. В таком случае Вы получите не только навыки программирования на живом примере, но и опыт общения с заказчиком, что на деле является очень важным свойством .

Сейчас Вам как никогда требуется самомотивация, необходимость много работать и впитывать новую информацию как губка. Каждый день Вы будете узнавать что-то новое, интересное (завидую вам 🙂 ). На этом этапе изучения программирования 1С с нуля из материалов я бы порекомендовал:

  • Начать читать программированию, начиная с самых простых (вроде «Простых примеров разработки»). Скорее всего, Вы не будете сразу понимать всё, но информация отложится в Вашей памяти, и её можно будет использовать в дальнейшем.
  • Просмотр онлайн- очень полезная и наглядная информация, тем более что достать большинство из них можно бесплатно.
  • Чтобы начать решать реальные практические задания, зарегистрируйтесь на бирже фриланса 1С и начните решать задания из архива. Тем самым Вы не только получите реальный опыт, но и поймете, какие виды услуг на рынке сейчас востребованы.

Монетизируем знания в 1С

Через некоторое время мы становимся этаким Middle 1C developer. Мы уже понимаем архитектуру 1С 8.2, умеем отличать дебет от кредита, смело общаемся с клиентом — в общем, мы полноценные специалисты, прошедшие этот путь с нуля. Становится вопрос — монетизация знаний. На самом деле, рынок услуг 1С чрезвычайно большой. И зарабатывать на нём можно очень приличные деньги. Рассмотрим основные способы продажи своих услуг:

Работа в 1С-Франчайзи

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

Необходимо всегда искать креативные варианты повышения выработки часов. Например, создать универсальную обработку, которую можно продавать всем клиентам. Работы в фирмах-франчайзи, как правило, огромное количество. У опытных программистов 1С получается «закрывать» до 300 часов в месяц, что в пересчете на среднюю ставку программиста 1С получается довольно неплохо. Мой личный рекорд — 400 часов.

Работа фрилансером/свой бизнес в 1С

Аналогична работе во франчайзи. Мы также предоставляем услуги 1С на аутсорсе. Вы замотивированы на оказание качественных услуг: если клиент уйдет, Вам нечего будет кушать:). Существенное отличие — нам необходимо заниматься поиском клиента, вести бухгалтерию организации (ИП или ООО). Клиентов можно искать в интернете, на специальных сайтах для фрилансеров, просто по знакомым и т.д.

Работа на внутреннем проекте («фикси»)

Язык 1С весьма прост в изучении по сравнению с любым другим языком программирования.

На территории России для многих большое значение имеет то, что можно писать код прямо на русском языке. «Можно» – значит не обязательно — можно писать и на английском, все операции и операторы имеют английский синоним.

Мы изучим язык 1С между делом сейчас, за пять минут.

Общие принципы программирования

Вне изучения языка, для тех кто не сталкивался с программированием, стоят общие принципы. Остальные — читайте дальше.

Программирование – это написание программного кода на программном языке.

Программный код – это последовательность команд (слов), которые поддерживает этот язык программирования.

Команды делятся на:

  • Переменные
  • Операторы
  • Функции и процедуры.

Рассмотрим их в первом приближении.

Переменные

Переменные

Есть цифра 12. Это значение. Сама по себе эта цифра нигде не хранится. Подули и ее уже нет 🙂 Она должна где-то храниться. Переменные – это место хранения значений. Переменная может называться любым словом.

Например:
Чтото = 12;
Чтото = Чтото + 10;
Сообщить(Чтото); //будет выведено «22»

Переменная, которая является частью объекта 1С (например поле справочника) и хранится в базе данных – называется реквизит.

В 1С переменные не типизированы, это значит, что одной и той же переменной сначала можно назначить значение одного типа (например цифру), а потом другого типа (например строку) и ошибки не будет.

Однако реквизиты объектов – типизированы. Но проверки на типы при этом не происходит. Мы можем попытаться назначить реквизиту значение не того типа. 1С попытается его преобразовать (например из цифры в строку), но если не получится, то значение реквизита останется пустым.

Длина строки в переменной – неограниченная. Длина строки реквизита – задается точно, но можно задать неограниченную (поставив длину строки 0).

По буквам к строке обращаться нельзя. Но можно искать или выделять части (Найти(), Лев(), Прав(), Сред()).

Сложные переменные

Если значение одно – это просто. А когда значений – много?

  • Массив

    Это одна колонка Excel. В каждой ячейке – переменная. У нее одно название, так же как и у обычной переменной. А к ячейке можно обратиться по номеру.

    Чтото = Новый Массив;
    Чтото.Добавить(22); //в ячейке 1 значение 22
    Чтото.Добавить(33); //в ячейке 2 значение 33
    Сообщить(Чтото); //выводим значение 1й ячейки

  • СписокЗначений

    То же, что и массив, только к каждой ячейке можно подписать комментарий.

    Чтото = Новый СписокЗначений;
    Чтото.Добавить(22, «Это 22»); //в ячейке 1 значение 22
    Чтото.Добавить(33, «Это 33»); //в ячейке 2 значение 33
    Сообщить(Чтото.Получить(0).Значение); //выводим значение 1й ячейки
    //а могли бы вывести и комментарий, тогда бы написали.Представление а не.Значение

  • ТаблицаЗначений

    Это – уже полноценная страница Excel со строчками и колонками.
    Как с ней работать – посмотрим в другом уроке.

  • ДеревоЗначений

    Таблица представленная в виде дерева. Пример – окно конфигурации. Ветки, у каждой ветки может быть подчиненная ветка.

Обратите внимание – нумерация ячеек в 1С начинается не с 1, а с 0.

Программирование 1С

Если Вам необходимо вспомнить где происходит написание программы в 1С — мы обсуждали это в .

Строки программы

Строки заканчиваются на точку с запятой «;».

Комментарий начинается с «//» — то есть эта строчка или часть строчки не будет выполняться и будет пропущена.

Значение строк нужно указывать в кавычках «Значение». Если нужно указать в значении кавычку, то она удваивается – «Значение ««а»»!».

Значение строки может быть с включением переноса строки, тогда в начале следующей строки должен стоять «|», например:

«Это начало
| и продолжение значения»

Если нужно указать специальные символы в значении строки, для этого есть специальный объект: «Символы.», например:

«Это начало» + Символы.ПС + «и продолжение значения» //ПС – перенос строки

Операторы

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

  • Условие

    Определенные строки кода будут выполнены если будет выполнено условие.

    Чтото = 12;
    Если Чтото 200 Тогда
    Сообщить(«Условие выполнено»);
    ИначеЕсли Чтото > 200 Тогда
    Сообщить(«Условие не выполнено»);
    Иначе
    Сообщить(«Что-то еще»);
    КонецЕсли;

  • Цикл

    Определенные строки кода будут выполнены указанное количество раз.

    //считаем по-одному
    Для Чтото = 1 по 20 Цикл
    Сообщить(Чтото);
    КонецЦикла;

    //считаем по-другому
    Чтото = 1;
    Пока Чтото

    //если у нас список значений, то можно обойти каждое из его значений
    Чтото = Новый СписокЗначений;
    Для каждого ЗначениеСписка из Чтото Цикл
    Сообщить(ЗначениеСписка.Значение);
    КонецЦикла;
    //обратите внимание, что «ЗначениеСписка» - это переменная, она может называться как угодно

    Для того, чтоб прервать цикл, можно внутри написать команду «Прервать», для того чтобы прервать только одну итерацию цикла – команду «Продолжить».

Работа с объектами

Все объекты, с которыми мы работаем в языке – является полноценными объектами, то есть могут иметь свои данные и свои методы.

Объекты языка создаются с помощью команды «Новый», например:

Чтото = Новый Массив();
Чтото = Новый СписокЗначений();
И т.п.

Объекты 1С нельзя создать – доступ к ним можно получить с помощью так называемых менеджеров, названных соответственно по веткам конфигурации: Справочники, Документы и т.п. Методы менеджера можно расширять (см. урок по модулям 1С, модуль менеджера объекта).

Например:

Справочники.Номенклатура.СоздатьЭлемент();
Документы.Накладная.НайтиПоНомеру(«…»);

Свои объекты программировать нельзя, как и наследовать или переопределять типовые.

Ошибки

Программист не всегда может догадаться, будет ли ошибка при выполнении определенной строчки кода.

Например если написать в коде внешней обработки:

Справочники.Номенклатура.НайтиПоКоду(«…») и открыть эту обработку в базе, где нет справочника с названием Номенклатура, то будет ошибка.

Чтобы этого не произошло, можно использовать следующую конструкцию:

Попытка
Справочники.Номенклатура.НайтиПоКоду(«…»);
Исключение
Чтото = ОписаниеОшибки();
Сообщить(«Ой-ой-ой»);
Сообщить(Чтото);
КонецПопытки;

Если в момент выполнения строчек программы между Попытка и Исключение возникнет ошибка, то выполнение будет прервано и перейдет на строчки между Исключение и КонецПопытки. Если не будет ошибки – эти строчки не будут выполнены.

Функция ОписаниеОшибки() работает только между Исключение и КонецПопытки и возвращает описание произошедшей ошибки.

Функции и Процедуры

Функции и Процедуры – это способ взять несколько строчек кода и назвать их каким-то словом, как переменную. Когда мы потом напишем ее название в другом месте – будет вызвана эта функция (то есть выполнены эти строки кода).

Мы неоднократно обсуждали методы объектов и обработчики событий. Функции и процедуры и являются этими методами и обработчиками.

//Программируем
Процедура КакоетоДействие()
Сообщить(«Чтото»);
КонецПроцедуры

//Вызываем
КакоетоДействие();

Функция отличается от процедуры тем, что она может вернуть значение, которое было вычислено в результате выполнения этих строк когда.

Как программировать

Теперь, когда Вы познакомились с языком 1С, .

Программирование проводится в модуле. Соответственно Вы должны найти нужный модуль и написать там код программы.

Пример разработки внешней обработки ():

  • Создаем внешнюю обработку
  • – будет выполнен по открытию обработки в режиме Предприятие и по нажатию кнопки
  • Или открываем модуль объекта обработка и пишем код там – будет выполнен сразу при открытии в режиме Предприятие.

Программированию конкретных объектов языка 1С мы коснемся в ближайших уроках.

Откройте ее в конфигураторе и Вы можете посмотреть программу или изменить ее.

Программный код написан в модуле объекта обработки.