Основы программирование в среде «1с: предприятие. Основы программирование в среде «1с: предприятие Программирование 1с с чего начать

Инструмент поддерживает более 20 языков программирования и может быть интегрирован в большинство популярных редакторов кода. Алгоритм - пример…


  • Чему научили в ВУЗе за 5 лет!

    Senior Software Vlogger показывает свой диплом и лист с оценками и пробует вспомнить предметы, преподавателей и пользу. Более 8000 часов потрачено…


  • Google по-русски: почему компания перевела Android на язык от российских разработчиков

    Директор по развитию Android Стефани Катберсон объявляет Kotlin одним из официальных языков для ОС, 2017 год Источник Google сделал Kotlin…

  • Языки программирования, разработанные российскими и советскими программистами

    Kotlin Kotlin (Ко́тлин) - это статически типизированный язык программирования, работающий поверх JVM и разрабатываемый компанией JetBrains.…


  • Youtube-каналы с уроками программирования

    ITVDN Технострим Mail.Ru Group Гоша Дударь loftblog Хауди Хо™ - Просто о мире IT! Кирилл Антонов Byte++ Ivan Booravoi splincode wd Web…


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

    Согласно новому отчёту RedMonk, TypeScript и Kotlin имеют лучшие показатели роста с учётом таких параметров, как используемость и интерес со стороны…

  • Google назвал Kotlin основным языком программирования для разработки приложений на Android

    Компания Google на конференции для разработчиков I/O 2019 объявила, что теперь язык программирования Kotlin будет приоритетным для разработки…Как заработать миллионы на открытом коде: от Red Hat до Nginx

    Источник Открытый код прошел путь от увлечения романтиков-нонконформистов до обычного инструмента для зарабатывания денег. Новые подходы…

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

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

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

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

    • 1. Распакуйте архив, скачанный по ссылке в отдельную папку на рабочем столе:
    • 1.1. ссылка на скачивание с Dropbox (вариант Nsl) https://www.dropbox.eom/s/t69xyrrhsdugfzf/lC_Predprijatie_ 8.3_uchebnaja_versija.zip?dl=l
    • 1.2. ссылка на скачивание с Mail.ru (вариант N°2) https://cloud.mail.ru/public/59a9a532864d/lC_Predprijatie_8.3_ uchebnaja_versija.zip
    • 2. Запустите файл "setup.exe".
    • 3. Нажмите "Далее", "Далее", "Установить".
    • 4. Дождитесь окончания установки.

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

    Предприяти е (учебная версия)

    Рис. 1. Ярлык запуска 1С:Предприятие

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

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

    Заставим компьютер вывести на экран эту фразу на русском языке "Привет, Мир!".

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

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

    • 1. Запустите ярлык "1C:Предприятие" на вашем рабочем столе.
    • 2. Перед вами открылся список баз 1C (рис. 2). Как видите, он пуст. Давайте создадим учебную базу, в которой и будем программировать. Нажмите кнопку "Добавить”.
    • 3. Выберите пункт и нажмите кнопку "Далее" (рис. 3).
    • 9 щ Добавление информационна базы/гр>тпы X

    Рис. 3.

    4. Выберите пункт ..." (рис. 4) и нажмите кнопку "Далее".


    Рис. 4.

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


    Рис. 5.

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


    Рис. 6.

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


    Рис. 7.

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

    Рис. 8.

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

    Конфигуратор (учебная версия) - Конфигурац

    Рис. 9. Выбор пункта меню "Открыть конфигурацию"

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

    Конфигурация

    Действия» ф / | X і 4

    © *? Общие _За КрнСіаміЬ!.

    Конфигурация

    ^ Открыть модуль управляемого приложения Открыть модуль сеанса

    Рис. 10. Выбор пункта "Открыть модуль управляемого приложения"

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

    Рис. 11. Модуль управляемого приложения

    12. Перепишите в это окно следующий текст (рис. 12):

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


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

    Ді Конфигуратор (учебная версия) - Конфигурация

    і файл Правка Текст Конфигурация Отлахка Алг4нстрирое»«е Сервис Окна Справка

    10 сЗЬІїХ *

    і в & д т? ©»і а а і //

    [Коифигурадоя *

    Действия?

    КоиФигурашя

    $ О# Общие 8? Константы 1111 Справочники ® С] Документы

    Журналы документов {..) Пере

    Конфигуратор (учебная версия)

    Л Редактируемая конфигурация отличается от конфигурации базы данных. Обновить конфигурацию базы данных?

    ....................

    Рис. 13. Запуск программы на выполнение

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

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

    Сообщения:

    Привет, Мир!

    Рис. 14. Результаты работы программы

    Язык 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С мы коснемся в ближайших уроках.

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

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

    Даже если вы заранее изучали другие языки программирования, например, C++, PHP, Java, стоит помнить, что 1С хоть и во многом сходе, но все-таки имеет много принципиальных различий.

    Самое главное в 1С – то, что не нужно придумывать свои виды объектов. Все они уже есть в конфигурации.

    Установите технологическую платформу 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С.

    1. Язык программирования - это прежде всего Язык.

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

    2. Практика.

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

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

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