Первое приложение на 1С:Предприятии 8.3 — от пустой базы до файла .cf

· 10 мин

Содержание

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

Ниже пошаговая инструкция для начинающих на сквозном примере. Мы сделаем мини-склад: справочник товаров, документ «Приход товаров», регистр остатков и отчёт. Затем отладим код и сохраним результат в файл, который можно перенести на другой компьютер.

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

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

Варианты, с чего начать:

ВариантДля чего подходитОграничения
📘 Учебная версия платформыОбучение, прототип, домашние проектыТолько файловые базы, ограничен объём данных
💼 Платформа с лицензиейРабочие приложения для компанииНужна лицензия на каждое рабочее место или сервер
☁️ 1С:EDTКомандная разработка, GitТребует больше памяти, сложнее для первого шага

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

Установка на Windows:

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

Ставьте платформу в папку по умолчанию. Если на компьютере уже есть другие версии 1С, они не мешают друг другу: каждая лежит в своём каталоге с номером версии.

Шаг 1. Пустая информационная база для своей конфигурации

Информационная база — это папка с файлом 1Cv8.1CD, где хранятся и конфигурация, и данные. Для разработки нужна база без готовой конфигурации.

  1. В окне запуска нажмите «Добавить».
  2. Выберите «Создание новой информационной базы» → «Далее».
  3. Отметьте вариант «Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы».
  4. Задайте имя, например «Мой склад», и расположение «На данном компьютере или на компьютере в локальной сети».
  5. Укажите пустую папку, скажем C:\Bases\MySklad. Остальные параметры оставьте как есть и нажмите «Готово».

База появится в списке. Выделите её и нажмите кнопку «Конфигуратор» — это и есть среда разработки.

Не создавайте базу в папке, которая синхронизируется с облачным диском. Синхронизация блокирует файл 1Cv8.1CD во время работы, и база может повредиться.

Шаг 2. Конфигуратор: дерево метаданных и главные объекты

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

Объекты, без которых не обходится почти ни одна разработка:

  • 📁 Справочники — списки: товары, клиенты, сотрудники.
  • 📄 Документы — события с датой: приход, продажа, заявка.
  • 📊 Регистры накопления — суммы и количества во времени, например остатки.
  • 🗂️ Регистры сведений — данные с привязкой к дате или набору ключей, например цены.
  • 🔢 Перечисления — фиксированные варианты: «Новый», «В работе», «Закрыт».
  • 📈 Отчёты и Обработки — вывод данных и служебные действия.
  • 🧩 Общие → Подсистемы — разделы программы, которые видит пользователь.
  • 🔐 Общие → Роли — права доступа .

Новый объект добавляют так: выделите ветку, например «Справочники», и нажмите Insert или кнопку «Добавить» на панели над деревом. Откроется окно редактирования объекта с вкладками «Основные», «Данные», «Формы» и другими.

Сначала задайте свойства самой конфигурации. Щёлкните по корню дерева правой кнопкой → «Свойства». Впишите имя, синоним (его увидит пользователь) и версию, например 1.0.0.1.

Шаг 3. Структура данных приложения: справочник, документ, регистр

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

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

  1. Добавьте справочник, имя Номенклатура.
  2. На вкладке «Данные» длину кода оставьте 9, длину наименования поставьте 100.
  3. Добавьте реквизит Артикул с типом «Строка» длиной 25.

Код и наименование у справочника есть всегда, их создавать не нужно.

Регистр накопления «ОстаткиТоваров»

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

Регистр накопления не заполняется вручную. Записи в него делает документ при проведении, поэтому дальше нужен документ.

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

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

Конструктор сам напишет процедуру проведения. Её мы разберём в следующем разделе.

Подсистема — чтобы объекты появились в интерфейсе

Добавьте в ветке Общие → Подсистемы подсистему Склад. На вкладке «Состав» отметьте справочник, документ и регистр. Без этого пользователь не найдёт новые объекты в разделах программы.

Шаг 4. Пишем код на встроенном языке 1С

Встроенный язык похож на Pascal и Visual Basic, но ключевые слова по умолчанию русские. Английский синтаксис тоже поддерживается: Процедура и Procedure — одно и то же.

Модуль объекта: проведение документа

Откройте документ → вкладка «Прочее» → «Модуль объекта». Конструктор движений уже создал в нём процедуру:

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

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

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

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

Что здесь происходит:

  • ОбработкаПроведения — обработчик события, платформа вызывает его при нажатии «Провести».
  • Движения.ОстаткиТоваров — набор записей регистра, который принадлежит этому документу.
  • Цикл обходит табличную часть и на каждую строку добавляет приход в регистр.
  • Записывать = Истина говорит платформе записать набор после выполнения процедуры.

Модуль формы: пересчёт суммы

Пусть сумма считается сама при вводе количества. Для этого нужна форма документа.

  1. На вкладке «Формы» документа нажмите кнопку добавления и в конструкторе выберите «Форма документа» → «Готово».
  2. В дереве элементов формы найдите колонку ТоварыКоличество.
  3. В её свойствах откройте раздел «События», у события ПриИзменении нажмите кнопку с лупой.
  4. Конфигуратор создаст обработчик. Впишите код:
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)

	ТекСтрока = Элементы.Товары.ТекущиеДанные;
	ТекСтрока.Сумма = ТекСтрока.Количество * ТекСтрока.Цена;

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

Повторите то же для колонки ТоварыЦена с обработчиком ТоварыЦенаПриИзменении. Код внутри одинаковый.

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

В модулях форм перед каждой процедурой стоит директива:

ДирективаГде выполняетсяЧто доступно
&НаКлиентеНа компьютере пользователяДанные формы, элементы, диалоги
&НаСервереНа сервере 1СДанные формы и обращения к базе
&НаСервереБезКонтекстаНа сервереТолько база, без данных формы

Новички часто пытаются обратиться к базе из процедуры &НаКлиенте. Это не работает : запросы и чтение справочников выполняют только на сервере.

После правки нажмите Ctrl+F7 — синтаксический контроль модуля. Он сразу покажет опечатки в именах и незакрытые циклы.

Шаг 5. Запуск, отладка и тестирование приложения

Перед запуском структуру базы нужно обновить. Нажмите F7 или выберите Конфигурация → Обновить конфигурацию базы данных. Платформа покажет список изменений — подтвердите их.

Пока вы не обновили конфигурацию базы данных, в режиме 1С:Предприятие работает старая версия приложения. Это самая частая причина вопроса «почему мои изменения не видны».

Запуск в режиме отладки

Нажмите F5 (Отладка → Начать отладку). Откроется 1С:Предприятие с вашим приложением, а Конфигуратор подключится к нему как отладчик.

Основные клавиши отладчика:

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

Поставьте точку останова на строке Движение.Количество = ... в модуле объекта. В приложении создайте документ и нажмите «Провести». Выполнение остановится, и в окне «Вычислить выражение» можно посмотреть значение ТекСтрокаТовары.Количество.

Проверка на тестовых данных

Пройдите сценарий целиком, как пользователь:

Приёмка мини-склада
Выполнено: 0 / 5

Остатки удобно смотреть отчётом. Добавьте в ветке «Отчеты» отчёт Остатки, на вкладке «Основные» нажмите «Открыть схему компоновки данных». В конструкторе добавьте набор данных — запрос к виртуальной таблице РегистрНакопления.ОстаткиТоваров.Остатки, на вкладке «Настройки» создайте группировку «Детальные записи». Этого достаточно для первого отчёта.

Регистр без отчёта видно через «Все функции». Включите команду в главном меню 1С:Предприятия: Сервис → Параметры → флажок «Отображать команду “Все функции”».

Шаг 6. Как сохранить приложение: базовая конфигурация, файлы .cf и .dt

В Конфигураторе четыре похожих действия, и новички их путают.

ДействиеГдеЧто получится
Сохранить конфигурациюCtrl+S или Конфигурация → Сохранить конфигурациюИзменения записаны в базу, но ещё не применены к данным
Обновить конфигурацию БДF7Структура таблиц изменена, приложение работает по-новому
Сохранить в файл .cfКонфигурация → Сохранить конфигурацию в файлФайл только с конфигурацией, без данных
Выгрузить базу в .dtАдминистрирование → Выгрузить информационную базуКонфигурация вместе со всеми данными

Когда что использовать:

  • 📦 .cf — чтобы передать приложение другому человеку. Он создаёт пустую базу и загружает файл через Конфигурация → Загрузить конфигурацию из файла.
  • 💾 .dt — для резервной копии и переноса базы целиком, с товарами и документами.
  • 🗃️ Выгрузка в XML — Конфигурация → Выгрузить конфигурацию в файлы. Каждый объект становится отдельным файлом. Такой вариант кладут в Git и смотрят разницу между версиями.

Загрузка .dt полностью заменяет базу, в которую её загружают. Загружайте выгрузку только в пустую или заведомо ненужную базу.

Поднимайте номер версии в свойствах конфигурации перед каждой передачей приложения. Через месяц станет ясно, какая сборка у пользователя.

Частые ошибки начинающих разработчиков

Диагностика: выберите симптом

Ещё две ошибки, которые не дают текста на экране, но портят приложение:

  • 🧱 Всё в одном модуле формы. Логику расчётов выносите в модуль объекта или в общие модули — так её вызовут и форма, и обработка, и обмен.
  • 🔁 Запросы в цикле. Чтение базы на каждой строке табличной части тормозит уже на сотне строк. Один запрос до цикла почти всегда быстрее.

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

Можно ли создать приложение в 1С без программирования?
Да, простое. Справочники, документы, регистры, формы и отчёты на СКД создаются конструкторами. Код понадобится для расчётов, проверок и нестандартной логики.
Чем приложение отличается от расширения конфигурации?
Своё приложение — отдельная конфигурация с нуля. Расширение (.cfe) дорабатывает готовую конфигурацию, например Бухгалтерию, не снимая её с поддержки.
Можно ли сделать мобильное приложение на 1С?
Да. У 1С есть мобильная платформа: в свойствах конфигурации указывают назначение «Мобильное устройство», а готовую сборку для Android или iOS собирают отдельным инструментом.
Сколько пользователей выдержит приложение в файловой базе?
Файловая база рассчитана на небольшую команду в локальной сети. Для десятков одновременных пользователей базу переводят на сервер 1С с СУБД — конфигурацию при этом переписывать не нужно.
Где изучать встроенный язык дальше?
В Конфигураторе есть синтакс-помощник (меню «Справка»): там описаны все методы и объекты с примерами. Следующий шаг после прихода — документ расхода с контролем остатков через запрос.