Логика 1С изнутри: что на самом деле происходит, когда вы нажимаете «Провести»
Содержание
Чтобы понять программу 1С, достаточно усвоить одну цепочку: справочники хранят «кто и что», документы фиксируют «что произошло», а регистры накапливают результат. Любой отчёт — от оборотно-сальдовой ведомости до остатков на складе — читает данные из регистров, а не из документов. Кто держит в голове эту схему, тот быстро осваивает любую конфигурацию: Бухгалтерию, ЗУП, Управление торговлей.
Новичок обычно идёт одним из двух путей. Первый — заучивать кнопки конкретной программы: быстро, но знания не переносятся на другую конфигурацию. Второй — сначала понять устройство платформы, а потом кнопки: на старте дольше на пару вечеров, зато дальше вы «читаете» любую базу. Ниже — второй путь, с примерами из 1С:Бухгалтерии 3.0 на платформе 8.3.
С чего начать понимание 1С: платформа, конфигурация и база
«1С» — это не одна программа, а три слоя. Путаница между ними — главная причина, почему новичку кажется, что всё устроено хаотично.
| Слой | Что это | Пример |
|---|---|---|
| Платформа | Движок, который запускает всё остальное | «1С:Предприятие 8.3», файл 1cv8.exe |
| Конфигурация | Прикладное решение: какие есть справочники, документы, отчёты и правила | Бухгалтерия предприятия 3.0, ЗУП 3.1, УТ 11 |
| Информационная база | Ваши данные: контрагенты, накладные, проводки | База «ООО Ромашка» |
Отсюда несколько практических выводов:
- 🔹 Обновление платформы и обновление конфигурации — разные операции. Платформу ставят как обычную программу на компьютер. Конфигурацию обновляют внутри базы.
- 🔹 Одна платформа запускает много баз с разными конфигурациями. Список баз вы видите в окне запуска.
- 🔹 Типовая конфигурация — та, что выпускает фирма 1С. Её дорабатывают под компанию, и тогда меню в вашей базе может отличаться от инструкций в интернете.
Базы бывают двух видов. Файловая — это папка с файлом 1Cv8.1CD, подходит для одного-нескольких пользователей. Клиент-серверная — данные лежат в СУБД (Microsoft SQL Server или PostgreSQL), а между пользователями и СУБД работает сервер 1С. Для пользователя разница почти незаметна, для администратора — огромная.
Справочники и документы: из чего состоят данные в программе
Конфигурация собрана из объектов метаданных. Их около двух десятков видов, но новичку хватит пяти: константы, перечисления, справочники, документы и регистры.
Справочники — списки «кто и что»
Справочник — это список однотипных элементов, которые живут долго и почти не меняются:
- 👥 Контрагенты, Физические лица, Сотрудники;
- 📦 Номенклатура, Склады;
- 🏦 Банковские счета, Договоры.
Справочники бывают иерархическими (папки и элементы) и подчинёнными: договоры подчинены контрагенту, у каждого покупателя свой набор договоров. Элемент справочника сам по себе ничего не меняет в учёте. Завели контрагента — ни одна цифра в отчётах не сдвинулась.
Документы — «что произошло»
Документ фиксирует событие на дату: поступление товаров, реализацию, выплату зарплаты, приём на работу. У документа есть шапка (дата, организация, контрагент, склад) и обычно табличная часть — строки с номенклатурой, количеством и суммами.
Ключевое действие с документом — проведение. Пока документ не проведён, это просто запись в журнале. Проведённый документ меняет учёт: формирует проводки и движения по регистрам.
| Состояние | Значок в списке | Влияет на отчёты? |
|---|---|---|
| Записан, не проведён | без галочки | Нет |
| Проведён | зелёная галочка | Да |
| Помечен на удаление | красный крестик | Нет, движения снимаются |
Приём, который сразу проясняет логику: откройте любой проведённый документ в Бухгалтерии 3.0 и нажмите кнопку Дт/Кт в командной панели. Откроется окно с проводками и движениями по другим регистрам, которые сделал этот документ. Пять-шесть разных документов, просмотренных так, объясняют больше, чем час теории.
Константы и перечисления
Константа хранит одно значение на всю базу: например, флажок использования какой-то функции. Перечисление — фиксированный список вариантов, который пользователь не редактирует: виды операций, ставки НДС, пол сотрудника.
Регистры: скрытый механизм учёта в 1С
Регистров пользователь почти не видит, но именно они «помнят» результат. Документ при проведении записывает в регистры строки — движения. Отчёт потом складывает эти строки.
Пример на цифрах. На складе 0 штук товара. Проводим поступление на 100 шт., затем реализацию на 30 шт.:
| Документ | Вид движения | Количество |
|---|---|---|
| Поступление | Приход | +100 |
| Реализация | Расход | −30 |
| Остаток | 70 |
Регистр не хранит «70» как готовое число в одной ячейке — он хранит движения, а платформа поддерживает итоги, поэтому остаток на любую дату получается быстро.
Четыре вида регистров
- 📊 Регистр накопления — остатки и обороты в количестве и сумме: товары на складах, взаиморасчёты, задолженность по зарплате. Бывает «остатков» и «оборотов».
- 📒 Регистр бухгалтерии
— проводки по плану счетов: Дт, Кт, сумма, субконто. В Бухгалтерии 3.0 основной такой регистр называется
Хозрасчетный. - 🗂 Регистр сведений — значения, привязанные к измерениям и часто к дате: курсы валют, цены номенклатуры, кадровая история. Периодический регистр сведений умеет отдавать «срез последних» — значение, действовавшее на дату.
- 🧮 Регистр расчёта — начисления и удержания с учётом периодов действия. Его используют зарплатные конфигурации.
Почему перепроведение всё меняет
Документ при повторном проведении стирает свои старые движения и пишет новые. Поэтому исправленный задним числом мартовский документ меняет остатки во всех последующих месяцах. В бухгалтерии это ещё и сбивает закрытие месяца — его потом выполняют заново.
Не перепроводите документы закрытых периодов без согласования с главным бухгалтером. Для защиты от случайных правок в типовых конфигурациях есть настройка «Даты запрета изменения» в разделе Администрирование.
Режимы запуска и интерфейс пользователя 1С
В окне запуска у каждой базы две главные кнопки:
- 1С:Предприятие — режим пользователя. Здесь вводят документы и смотрят отчёты.
- Конфигуратор — режим разработчика и администратора. Здесь видно дерево метаданных, обновляют конфигурацию, выгружают базу в файл
.dt, настраивают пользователей.
Кроме того, пользовательский режим работает через разные клиенты: тонкий клиент (основной вариант для 8.3), веб-клиент в браузере и толстый клиент для старых конфигураций с обычными формами.
Как читать экран в интерфейсе «Такси»
Современные конфигурации на 8.3 используют интерфейс «Такси». Экран состоит из повторяющихся блоков:
- 🧭 Панель разделов слева: Главное, Банк и касса, Продажи, Покупки, Склад, Зарплата и кадры, Отчёты, Администрирование (набор зависит от конфигурации).
- 📋 Панель функций раздела — открывается по клику на раздел. Сгруппирована по колонкам: документы, справочники, отчёты, сервис.
- 🗃 Рабочая область с закладками — открытые формы списков и документов.
- 🔍 Поиск в шапке окна — ищет и по командам меню, и по данным.
Каждая форма списка устроена одинаково: командная панель сверху, кнопка Создать, поле поиска, меню Ещё с редкими командами — настройкой списка, выводом в таблицу, отбором. Освоив одну форму, вы освоили все.
Включите меню «Все функции». В Бухгалтерии 3.0: Главное меню (☰) → Сервис → Параметры, флажок «Отображать команду “Все функции”». После этого в главном меню появится дерево всех объектов конфигурации — в том числе регистров, которых нет на панелях разделов. Через него удобно смотреть, какие движения лежат в регистре.
Отчёты, с которыми стоит начать
Для понимания учёта в Бухгалтерии 3.0 хватит трёх стандартных отчётов из Отчёты → Стандартные отчеты:
| Отчёт | Что показывает | Когда открывать |
|---|---|---|
| Оборотно-сальдовая ведомость | Сальдо и обороты по всем счетам | Общая картина за период |
| Анализ счета | С какими счетами корреспондирует выбранный | Понять, откуда пришла сумма |
| Карточка счета | Все проводки по счёту с документами | Найти конкретную операцию |
Из любой суммы в отчёте двойным щелчком проваливаетесь в расшифровку, а оттуда — в сам документ. Эта цепочка «отчёт → расшифровка → документ → Дт/Кт» и есть главный навык пользователя 1С.
Язык запросов и встроенный язык программирования
Бухгалтеру программировать не обязательно. Но базовое понимание обоих языков объясняет, почему 1С ведёт себя так, а не иначе.
Встроенный язык
Код в 1С пишут по-русски (английские синонимы тоже работают). Он лежит в модулях: модуле объекта, модуле менеджера, модуле формы, общих модулях. Проведение документа — это процедура ОбработкаПроведения в модуле документа. Учебный пример: документ пишет приход в регистр накопления ОстаткиТоваров собственной конфигурации.
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.ОстаткиТоваров.Записывать = Истина;
Для Каждого Строка Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Номенклатура = Строка.Номенклатура;
Движение.Количество = Строка.Количество;
КонецЦикла;
КонецПроцедуры
Вся «магия» проведения — вот эти несколько строк: для каждой строки табличной части создаётся одна запись в регистре.
В формах есть ещё одна особенность — директивы &НаКлиенте и &НаСервере. Код формы частично выполняется на компьютере пользователя, частично на сервере. Отсюда типичные для новичка-программиста ошибки, когда серверный объект недоступен на клиенте.
Язык запросов
Запросы похожи на SQL, только с русскими ключевыми словами и обращением к объектам метаданных, а не к таблицам СУБД. Пример — курсы валют на дату из регистра сведений Бухгалтерии 3.0:
ВЫБРАТЬ
КурсыВалютСрезПоследних.Валюта,
КурсыВалютСрезПоследних.Курс,
КурсыВалютСрезПоследних.Кратность
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыВалютСрезПоследних
Обратите внимание на СрезПоследних — это виртуальная таблица. У регистров накопления есть виртуальные таблицы Остатки, Обороты и ОстаткиИОбороты. Именно через них отчёты получают остатки на дату, не перебирая все документы.
Почти все отчёты в типовых конфигурациях построены на системе компоновки данных (СКД): запрос плюс настройки группировок и отборов. Поэтому у отчётов одинаковая кнопка Настройки и одинаковая логика отборов.
План изучения 1С для новичка
Понимание приходит быстрее на практике. Порядок, который работает:
- Поставьте учебную или демо-базу. С типовыми конфигурациями поставляются демонстрационные базы с заполненными данными. Экспериментировать на рабочей базе нельзя.
- Пройдите один сквозной цикл. Поступление товара → реализация → оплата от покупателя. После каждого документа смотрите
Дт/Кти оборотно-сальдовую ведомость. - Сломайте и почините. Отмените проведение реализации и посмотрите, что исчезло из отчётов. Проведите снова.
- Откройте Конфигуратор в демо-базе и найдите в дереве метаданных тот же документ: его реквизиты, табличную часть, вкладку движений.
- Напишите первый запрос в консоли запросов к регистру сведений или накопления.
- Переходите к своему участку: зарплата, склад, банк — уже понимая, что под капотом.
На первые четыре шага уходит примерно 2-3 вечера. Дальше скорость освоения новых разделов растёт заметно, потому что логика везде одинаковая.
Ошибки новичков при освоении 1С
Перед удалением помеченных объектов, обновлением конфигурации и любыми массовыми обработками сделайте резервную копию базы. Удаление помеченных необратимо.