Первая конфигурация своими руками: с чего начать разработку на 1С 8.3

· 10 мин

Содержание

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

Частое заблуждение новичков — что сначала надо «выучить язык», а потом браться за конфигурацию. В 1С наоборот: язык здесь вторичен, главное — понять, из каких объектов метаданных строится прикладное решение и как они связаны. Код пишется в модулях этих объектов, и без них он не имеет смысла.

Подготовка рабочего места: какую платформу ставить для обучения

Для самостоятельного обучения не нужна рабочая лицензия. Фирма 1С выпускает учебную версию платформы — бесплатную, с полноценным конфигуратором и режимом отладки. Её ограничения для обучения некритичны:

  • 📁 работает только с файловыми базами, без сервера 1С;
  • 📊 ограничено количество записей в таблицах — на учебных примерах до лимита вы не дойдёте;
  • 🔌 часть внешних механизмов (внешнее соединение, автоматизация) недоступна.

Учебную версию обычно распространяют вместе с книгами серии «1С:Учебная версия» или скачивают из онлайн-магазина фирмы 1С после бесплатной регистрации.

Что поставить и как создать первую базу

  1. Установите платформу. При установке достаточно компонента «1С:Предприятие» — конфигуратор входит в него.
  2. Запустите ярлык 1С, в окне списка баз нажмите Добавить → Создание новой информационной базы.
  3. Выберите Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной информационной базы.
  4. Укажите каталог на диске, например C:\1C_Learn\Base1.
  5. Выделите базу в списке и нажмите Конфигуратор.

Если вы уже работаете с типовой конфигурацией, учиться на ней можно только на копии: выгрузите базу через Администрирование → Выгрузить информационную базу в конфигураторе и загрузите файл .dt в новую пустую базу. Никогда не тренируйтесь на рабочей базе компании: одно случайное «Обновить конфигурацию базы данных» после правки меняет структуру таблиц для всех пользователей.

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

Конфигуратор или EDT

СредаКому подходитОсобенности
Конфигураторновичкам, поддержке типовыхвходит в платформу, весь учебный материал написан под него
1С:EDT (Enterprise Development Tools)командам, тем, кто работает с Gitсреда на основе Eclipse, требовательна к памяти, порог входа выше

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

Метаданные и окно конфигуратора: из чего собирается решение

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

ОбъектЧто хранит или делаетПример
Справочниксписки однотипных элементовТовары, Контрагенты, Склады
Документфакт хозяйственной операции с датойПриход товара, Реализация
Регистр накопленияостатки и оборотыОстатки товаров на складах
Регистр сведенийданные с привязкой к периоду или измерениямЦены номенклатуры
Перечислениефиксированный список значенийВиды оплаты
Отчёт / Обработкавывод данных / сервисные действияВедомость по складу
Общий модулькод, который вызывают из разных местПроцедуры расчёта

Связка «документ → регистр» — главная идея учёта в 1С. Документ сам по себе ничего не считает. При проведении он записывает движения в регистр, а остатки потом берут из регистра.

Первая учебная задача

Соберите минимальный складской учёт — на нём видны все базовые механизмы:

  1. Справочник Товары с реквизитом ЕдиницаИзмерения (строка).
  2. Справочник Склады.
  3. Регистр накопления ОстаткиТоваров: вид «Остатки», измерения Товар и Склад, ресурс Количество.
  4. Документ ПриходТовара: реквизит Склад, табличная часть Товары с колонками Товар и Количество.
  5. На закладке «Движения» документа отметьте регистр ОстаткиТоваров и нажмите Конструктор движений — он сгенерирует код проведения.
  6. Нажмите F7 (обновить конфигурацию базы данных), затем F5 — откроется режим 1С:Предприятие с вашими объектами.

Сгенерированный конструктором код прочитайте построчно. Это лучший первый учебник: вы видите, как документ формирует записи регистра.

Встроенный язык и модули: где живёт код

Язык 1С похож на Бейсик с русскими ключевыми словами: Если … Тогда … КонецЕсли, Для Каждого … Из … Цикл … КонецЦикла, Процедура … КонецПроцедуры. Синтаксис учится за несколько дней. Сложнее понять, в каком модуле писать код и где он выполняется.

Основные виды модулей

  • 📄 Модуль объекта — события конкретного документа или справочника: ПередЗаписью, ОбработкаПроведения, ОбработкаЗаполнения.
  • 🗂 Модуль менеджера — процедуры, которые относятся к типу объекта в целом, например печать или выборка по условию.
  • 🖥 Модуль формы — реакция на действия пользователя: нажатие кнопки, изменение поля.
  • 🧩 Общий модуль — повторно используемые функции. В свойствах задаётся, где он доступен: на сервере, на клиенте, через вызов сервера.
  • ⚙️ Модуль сеанса и модуль управляемого приложения — код при запуске системы.

Пример: проведение документа прихода

Так выглядит обработчик проведения для учебного документа из предыдущего раздела:

Процедура ОбработкаПроведения(Отказ, Режим)

	Движения.ОстаткиТоваров.Записывать = Истина;

	Для Каждого ТекСтрока Из Товары Цикл
		Движение = Движения.ОстаткиТоваров.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
		Движение.Период = Дата;
		Движение.Товар = ТекСтрока.Товар;
		Движение.Склад = Склад;
		Движение.Количество = ТекСтрока.Количество;
	КонецЦикла;

КонецПроцедуры

Обращение Товары, Склад, Дата без префикса работает, потому что код находится в модуле объекта и видит реквизиты самого документа.

Встаньте курсором на любое слово языка и нажмите Ctrl+F1 — откроется синтакс-помощник с описанием метода, параметров и того, где он доступен (клиент, сервер). Полный справочник — Справка → Синтакс-помощник.

Запросы к базе: как получать данные правильно

Читать данные перебором объектов (Справочники.Товары.Выбрать() и обращение к каждому элементу) — путь к медленному коду. В 1С данные получают запросом. Язык запросов похож на SQL, но обращается к объектам метаданных, а не к таблицам СУБД.

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|	Остатки.Товар КАК Товар,
|	Остатки.КоличествоОстаток КАК Количество
|ИЗ
|	РегистрНакопления.ОстаткиТоваров.Остатки(&НаДату, Склад = &Склад) КАК Остатки";

Запрос.УстановитьПараметр("НаДату", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("Склад", Склад);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Сообщение = Новый СообщениеПользователю;
	Сообщение.Текст = СтрШаблон("%1: %2", Выборка.Товар, Выборка.Количество);
	Сообщение.Сообщить();
КонецЦикла;

Здесь Остатки(…) — виртуальная таблица регистра. Платформа сама собирает остаток на дату из движений. Условие по складу передано внутрь параметров виртуальной таблицы — так запрос работает быстрее, чем с фильтром в ГДЕ.

Приёмы, которые стоит освоить сразу

  1. Конструктор запроса. В модуле нажмите правой кнопкой → Конструктор запроса. Галочками и мышью собирается текст запроса — удобно, пока синтаксис не выучен.
  2. Параметры вместо склейки строк. Значения передавайте через &Параметр и УстановитьПараметр, а не вставкой в текст.
  3. Консоль запросов. Внешняя обработка, в которой запрос пишут и выполняют прямо в режиме 1С:Предприятие. Её версии свободно распространяют на профильных форумах; проверяйте запросы там, прежде чем переносить в код.
  4. Никаких запросов в цикле. Если в цикле по 1000 строк выполняется запрос — это 1000 обращений к базе. Соберите данные одним запросом заранее.

Управляемые формы: интерфейс и деление на клиент и сервер

Формы в 8.3 управляемые: платформа сама раскладывает элементы, а вы задаёте их состав и порядок. Откройте объект в конфигураторе, на закладке «Формы» нажмите кнопку добавления — конструктор формы создаст форму с полями реквизитов.

В редакторе формы три основные части:

  • 🧱 Элементы — что видит пользователь: поля, таблицы, группы, кнопки.
  • 🗃 Реквизиты — данные формы; основной реквизит Объект хранит редактируемый документ или элемент.
  • 🔘 Команды — действия; команду перетаскивают в командную панель, чтобы появилась кнопка.

Директивы компиляции — главный барьер новичка

Код формы выполняется частично на компьютере пользователя, частично на сервере. Это указывают директивами перед процедурой:

ДирективаГде выполняетсяЧто доступно
&НаКлиентена клиентеданные формы, интерактивные действия; запросов нет
&НаСерверена сервере, с передачей формыданные формы и база
&НаСервереБезКонтекстана сервере, без передачи формытолько база и переданные параметры, вызов дешевле

Типичная связка: обработчик кнопки на клиенте вызывает серверную функцию, та выполняет запрос и возвращает результат.

&НаКлиенте
Процедура ПоказатьОстаток(Команда)
	Остаток = ОстатокТовараНаСервере(Объект.Склад);
	ПоказатьПредупреждение(, СтрШаблон("Позиций на складе: %1", Остаток));
КонецПроцедуры

&НаСервереБезКонтекста
Функция ОстатокТовараНаСервере(Склад)
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Остатки.Товар) КАК Позиций
	|ИЗ
	|	РегистрНакопления.ОстаткиТоваров.Остатки(, Склад = &Склад) КАК Остатки");
	Запрос.УстановитьПараметр("Склад", Склад);
	Выборка = Запрос.Выполнить().Выбрать();
	Выборка.Следующий();
	Возврат Выборка.Позиций;
КонецФункции

Каждый вызов сервера с клиента — сетевой обмен. Чем их меньше, тем быстрее форма. Поэтому опытные разработчики выбирают &НаСервереБезКонтекста, когда форма серверу не нужна.

Отладка и поиск ошибок в своём коде

Отладчик встроен в конфигуратор и работает в учебной версии. Без него учиться программировать в 1С вслепую намного дольше.

ДействиеКлавиша
Запустить 1С:Предприятие в режиме отладкиF5
Поставить или снять точку остановаF9
Шаг с заходом в процедуруF11
Шаг без захода в процедуруF10
Вычислить выражениеShift+F9

Порядок работы простой: ставите точку останова на строку, выполняете действие в пользовательском режиме, выполнение останавливается — и вы смотрите значения переменных. В окне вычисления выражений можно проверить кусок кода, не перезапуская базу.

Ещё два инструмента пригодятся почти сразу:

  • ⏱ Замер производительности (Отладка → Замер производительности) показывает, сколько времени заняла каждая строка. Так находят тот самый запрос в цикле.
  • ✅ Синтаксический контроль — Ctrl+F7 в модуле или Конфигурация → Проверка конфигурации для всего решения. Ошибки синтаксиса и обращения к несуществующим методам видны до запуска.
Диагностика: выберите симптом

Где учиться дальше: книги, курсы, сертификация

Самостоятельное обучение 1С лучше строить по ступеням: сначала платформа и учёт, потом запросы, потом типовые конфигурации.

  1. 📘 «1С:Предприятие 8.3. Практическое пособие разработчика» (М. Радченко, Е. Хрусталёва) — классический учебник: на сквозном примере собирается целая конфигурация. Проходите его руками, а не чтением.
  2. 📗 «Язык запросов 1С:Предприятия 8» (Е. Хрусталёва) — когда базовые запросы уже получаются и нужны вложенные запросы, временные таблицы, соединения.
  3. 📙 Система стандартов и методик разработки фирмы 1С — правила оформления кода и проектирования, по которым написаны типовые решения. Читать по теме, когда пишете похожий код.
  4. 🧭 Код типовых конфигураций. Откройте копию «Бухгалтерии предприятия» и посмотрите, как устроено проведение реального документа, тот же ОбработкаПроведения.
  5. 💬 Профессиональные сообщества — Инфостарт, форум Мисты: готовые разборы и ответы на конкретные ошибки.

Расширения — правильный способ дорабатывать типовые

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

Сертификация

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

Маршрут новичка по шагам
Выполнено: 0 / 7

Частые вопросы

Сколько времени нужно, чтобы научиться программировать в 1С с нуля?
При занятиях по 1-2 часа в день базовую разработку осваивают примерно за 2-3 месяца. До уровня, на котором берут в поддержку типовых, — обычно полгода практики.
Нужно ли знать бухгалтерию, чтобы программировать 1С?
Для старта нет. Но в типовых конфигурациях учётная логика повсюду, поэтому понимать проводки, остатки и обороты придётся. Без этого сложно говорить с заказчиком на одном языке.
Можно ли писать код 1С на английском?
Да. У каждого ключевого слова и метода есть английский вариант: If … Then, Query, Message. Типовые конфигурации написаны на русском, поэтому на практике пишут по-русски.
Подойдёт ли учебная версия для реальной работы?
Нет. Учебная версия предназначена только для обучения: ограничения на объём данных и отсутствие клиент-серверного режима не дадут вести учёт. Для работы нужна обычная лицензия.
Стоит ли сразу учить 1С:EDT вместо конфигуратора?
Лучше начать с конфигуратора: учебники и примеры написаны под него, он легче. К EDT переходят, когда нужен Git и командная разработка.