Первая своя конфигурация на платформе 1С 8.3: от пустой базы до отчёта

· 10 мин

Содержание

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

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

С чего начать: тип базы и установка платформы

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

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

Какую базу создать

ВариантГде хранятся данныеКогда выбирать
Файловая базаОдин файл 1Cv8.1CD в папке на дискеУчёба, личные эксперименты, небольшие офисы
Клиент-серверная базаСУБД (PostgreSQL, MS SQL) + сервер 1СРабочие системы на десятки пользователей, изучение администрирования

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

Установка и создание пустой базы

  1. Распакуйте дистрибутив платформы и запустите setup.exe.
  2. В составе компонентов оставьте «1С:Предприятие» — в него входит и конфигуратор, и толстый клиент. Тонкий клиент для учёбы не обязателен.
  3. Запустите 1С. В окне запуска нажмите Добавить → Создание новой информационной базы.
  4. Выберите Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной информационной базы.
  5. Укажите имя (например, «Учебная») и каталог на локальном диске, не в сетевой папке.
  6. Выделите базу в списке и нажмите Конфигуратор.

Рядом заведите вторую базу из демо-конфигурации типового решения, если она есть в комплекте. На ней удобно смотреть, как «настоящие» разработчики называют объекты и пишут модули.

Конфигуратор: окно, дерево метаданных и режимы запуска

У 1С два режима работы с одной и той же базой:

  • 🛠 Конфигуратор — здесь описывают структуру: какие справочники, документы и регистры есть, какие у них реквизиты, формы и модули;
  • 👩‍💼 1С:Предприятие — режим пользователя, где эти объекты заполняют данными.

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

Ветка дереваЧто хранитПример
ОбщиеПодсистемы (разделы интерфейса), роли, общие модулиРаздел «Склад», роль «Кладовщик»
КонстантыОдно значение на всю базуОсновная организация
СправочникиСписки однотипных элементовНоменклатура, Контрагенты
ДокументыХозяйственные события с датой и номеромПриход товара, Расход товара
ПеречисленияФиксированный набор значенийВиды оплаты: нал, безнал
Отчёты, ОбработкиВывод данных и сервисные действияОстатки на складе, Групповое изменение
РегистрыНакопленные данные для учёта и итоговОстатки товаров, Цены

Как устроен цикл «изменил → проверил»

Изменения в дереве сначала живут в основной конфигурации. Чтобы они попали в базу, нужна команда Конфигурация → Обновить конфигурацию базы данных (клавиша F7). Затем Отладка → Начать отладку (F5) запускает режим пользователя, и вы сразу видите результат.

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

Первым делом создайте подсистему, например «Склад», в ветке Общие → Подсистемы. Объекты, включённые в подсистему, появятся в одноимённом разделе интерфейса. Без подсистем новый справочник «потеряется» в режиме пользователя.

Первые объекты: справочники и документы

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

Справочник «Номенклатура»

  1. В ветке Справочники нажмите Добавить.
  2. Имя — Номенклатура. Имя пишется без пробелов, синоним (то, что видит пользователь) заполнится сам.
  3. На закладке «Данные» добавьте реквизит Артикул с типом «Строка», длина 25.
  4. На закладке «Подсистемы» отметьте «Склад».
  5. Нажмите F7, затем F5 и добавьте пару товаров.

Код и наименование у справочника есть всегда — их не нужно создавать как реквизиты. Иерархию (папки) включают на закладке «Иерархия».

Документ «Приход товара»

  1. В ветке Документы добавьте объект ПриходТовара.
  2. На закладке «Данные» создайте табличную часть Товары с реквизитами Номенклатура (тип «СправочникСсылка.Номенклатура») и Количество (тип «Число», 15 знаков, 3 после запятой).
  3. Отметьте подсистему «Склад».

Номер и дата у документа тоже есть изначально. Точно так же создайте РасходТовара — проще всего скопировать первый документ в дереве и переименовать копию.

Тип реквизита «СправочникСсылка» — главный приём, который нужно понять в начале. В реквизите хранится не название товара, а ссылка на элемент справочника. Переименовали товар — во всех документах он поменялся автоматически.

Регистры накопления и сведений: где живут остатки

Документ сам по себе — только бумажка в базе. Чтобы знать остаток, документ при проведении записывает движения в регистр. Это ключевая идея всех конфигураций 1С, от учебной до ERP.

РегистрЧто хранитПример
Регистр накопления, вид «Остатки»Приход и расход, по которым считается остатокОстатки товаров по складам
Регистр накопления, вид «Обороты»Только обороты за период, без остаткаПродажи за месяц
Регистр сведенийЗначение на дату или без датыЦены номенклатуры, курсы валют
Регистр бухгалтерииПроводки по плану счетовХозрасчётный в 1С:Бухгалтерии

Создаём регистр остатков

  1. В ветке Регистры накопления добавьте ОстаткиТоваров, вид «Остатки».
  2. Измерение — Номенклатура (тип «СправочникСсылка.Номенклатура»).
  3. Ресурс — Количество (число 15.3).
  4. На закладке «Регистраторы» отметьте оба документа.

Теперь откройте документ ПриходТовара и на закладке «Движения» нажмите Конструктор движений. Укажите регистр, вид движения «Приход» и табличную часть «Товары». Конструктор сам сформирует процедуру в модуле объекта:

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

Для расходного документа повторите то же с видом «Расход». Проведите приход на 10 штук и расход на 3 — в регистре останется 7.

Проверьте себя
Где правильно хранить текущую цену товара, которая меняется раз в месяц?
Что произойдёт с остатком, если отменить проведение расходного документа?
Какой вид регистра накопления подходит для учёта продаж за период, если остаток не нужен?

Язык запросов 1С: как достать данные из базы

Данные в отчёты, формы и печать попадают через запросы. Язык похож на SQL, но работает с объектами конфигурации, а не с таблицами СУБД напрямую. У регистров есть готовые виртуальные таблицы: Остатки, Обороты, ОстаткиИОбороты — именно на них держатся почти все складские отчёты.

Пример: вывести текущие остатки товаров. Код можно выполнить на сервере, например в команде обработки:

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

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Сообщить(Строка(Выборка.Номенклатура) + ": " + Формат(Выборка.Остаток, "ЧДЦ=3; ЧН=0"));
КонецЦикла;

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

Что освоить в первую очередь:

  • 📌 отбор через ГДЕ и параметры &Параметр вместо подстановки значений в строку;
  • 📌 соединения ЛЕВОЕ СОЕДИНЕНИЕ — чтобы подтянуть к товарам цены;
  • 📌 группировку СГРУППИРОВАТЬ ПО и агрегатные функции СУММА, КОЛИЧЕСТВО;
  • 📌 параметры виртуальных таблиц — отбор по периоду и измерениям внутри скобок Остатки(&Дата, Номенклатура = &Товар), а не в ГДЕ.

Последний пункт — приём, который отличает новичка от практика. Условие в параметрах виртуальной таблицы отбирает данные до расчёта остатков, а условие в ГДЕ — после. На большой базе разница в скорости бывает многократной.

Отчёты на СКД и обработки

Отчёт — объект для вывода данных, обработка — для действий с ними: перенести, заполнить, загрузить, исправить. Оба бывают встроенными (в дереве конфигурации) и внешними — отдельными файлами .erf и .epf.

Первый отчёт за 10 минут

  1. В ветке Отчёты добавьте ОстаткиНаСкладе.
  2. Нажмите Открыть схему компоновки данных — платформа создаст основную схему.
  3. В конструкторе схемы добавьте набор данных «Запрос» и через Конструктор запроса выберите виртуальную таблицу ОстаткиТоваров.Остатки.
  4. На закладке «Настройки» добавьте группировку «Детальные записи» и выберите поля.
  5. Включите отчёт в подсистему, нажмите F7 и F5.

Пользователь получит готовый отчёт с отборами, сортировкой и выводом в Excel, хотя вы не написали ни строчки кода. Это и есть система компоновки данных (СКД) — на ней построены почти все отчёты типовых конфигураций.

Внешние обработки: безопасный путь в типовые базы

Внешнюю обработку создают через Файл → Новый → Внешняя обработка и сохраняют отдельным файлом. В типовой базе её открывают через Файл → Открыть или подключают как дополнительную обработку — сама конфигурация при этом не меняется.

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

Настройка типовой конфигурации: путь пользователя

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

Для 1С:Бухгалтерии 3.0 порядок такой:

  1. Заполнить реквизиты организации: Главное → Настройки → Организации.
  2. Включить нужные участки учёта: Главное → Настройки → Функциональность — валюта, склад, зарплата, производство.
  3. Настроить учётную политику и налоги: Главное → Настройки → Учетная политика.
  4. Ввести начальные остатки через помощник ввода остатков в разделе Главное.
  5. Подключить интернет-поддержку: Администрирование → Интернет-поддержка и сервисы.
Перед первой доработкой типовой базы
Выполнено: 0 / 5

Доработку типовой конфигурации делают через расширения (Конфигурация → Расширения конфигурации). Расширения появились в платформе 8.3.6. Они не снимают типовую с поддержки, и обновления встают без ручного сравнения и объединения.

Ошибки новичков в разработке конфигураций

  • ❌ Правка типовой без расширения. Снятие с поддержки превращает каждое обновление в ручное сравнение конфигураций. Для своих учебных баз это неважно, для рабочих — дорого.
  • ❌ Запрос в цикле. Сто строк документа — сто запросов к базе. Правильно: один запрос на все строки, затем обход результата.
  • ❌ Обращение «через точку» в коде. Документ.Контрагент.ИНН в цикле каждый раз читает весь объект контрагента. Нужное поле лучше получить в том же запросе.
  • ❌ Путаница клиента и сервера. В управляемых формах код помечают директивами &НаКлиенте и &НаСервере. Запрос к базе на клиенте выполнить нельзя — платформа выдаст ошибку.
  • ❌ Хранение изменчивых данных в реквизитах. Цена в карточке товара затирает историю. Для данных «на дату» есть периодический регистр сведений.
  • ❌ ТекущаяДата() вместо ТекущаяДатаСеанса(). Первая возвращает время компьютера, на котором выполняется код, вторая учитывает часовой пояс сеанса. Для дат документов используйте вторую.
  • ❌ Склейка числа со строкой. Без Формат() число 1500 превращается в строку с неразрывным пробелом «1 500», и сравнение строк ломается.

Куда двигаться дальше в изучении платформы

Когда учебная конфигурация со складом работает, логичный маршрут такой:

ЭтапЧто изучатьРезультат
1Управляемые формы, команды, роли и праваПользовательский интерфейс и доступ
2Регистры бухгалтерии и расчёта, планы счетовПонимание устройства 1С:Бухгалтерии и ЗУП
3Библиотека стандартных подсистем (БСП)Чтение кода любой типовой конфигурации
4Обмен данными, HTTP-сервисы, фоновые заданияИнтеграции и автоматизация
5Клиент-серверный вариант, замер производительностиРабота с крупными базами

Полезные инструменты на этом пути:

  • 📘 книга «1С:Предприятие 8.3. Практическое пособие разработчика» (Радченко, Хрусталева) — пошаговый учебный пример, близкий к описанному выше;
  • 🧰 1C:Enterprise Development Tools (EDT) — среда разработки на базе Eclipse, работает с Git; осваивать после конфигуратора;
  • 🗂 хранилище конфигурации — для командной разработки, когда объекты «захватывают» на изменение по очереди;
  • 🎓 сертификация «1С:Профессионал» по платформе — тест на знание механизмов, хорошая проверка базы перед «1С:Специалист».

Самый быстрый способ расти — читать код типовых конфигураций. Откройте в конфигураторе демо-базу, найдите документ «Реализация товаров и услуг» и посмотрите, как устроено его проведение. После своей учебной конфигурации вы узнаете там те же приёмы, только масштабнее.

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

Нужно ли знать программирование, чтобы начать изучать 1С?
Нет. Справочники, документы, регистры и отчёты на СКД создаются почти без кода. Встроенный язык понадобится, когда дойдёте до проведения и форм, а его основы осваиваются за несколько недель.
Можно ли учиться на учебной версии и потом перенести конфигурацию в рабочую базу?
Да. Конфигурацию выгружают в файл .cf через Конфигурация → Сохранить конфигурацию в файл и загружают в базу на полной платформе. Данные переносят выгрузкой в .dt.
Чем конфигурация отличается от информационной базы?
Конфигурация — описание структуры и логики: объекты, формы, модули. Информационная база — конфигурация вместе с данными. На одной конфигурации, например 1С:Бухгалтерии, работают тысячи разных баз.
Что учить первым: конфигуратор или EDT?
Конфигуратор. Все учебные материалы, курсы и сертификационные задачи опираются на него, а EDT проще осваивать, уже понимая объекты платформы.
Сколько времени уходит на первые шаги?
Учебная конфигурация со справочником, двумя документами, регистром и отчётом собирается за 2–3 вечера. До уверенной доработки типовых конфигураций обычно уходит несколько месяцев практики.