Реквизиты в 1С:Предприятие — это основа любой конфигурации. Без них невозможно создать справочники, документы или регистры, которые хранят и обрабатывают данные. Но как правильно добавить реквизит, если вы только начинаете работать с платформой? Эта статья поможет разобраться в типах реквизитов, их настройках и нюансах использования — от простых полей до сложных составных типов.
Мы рассмотрим два основных подхода: через конфигуратор (для разработчиков и администраторов) и в пользовательском режиме (для тех, кто работает с готовыми конфигурациями типа 1С:Бухгалтерия или 1С:Управление торговлей). Особое внимание уделим типичным ошибкам, которые приводят к сбоям в работе программы, и покажем, как их избежать.
Если вы никогда не работали с реквизитами, начните с первого раздела — там объясняются базовые понятия. Опытные пользователи могут сразу перейти к практическим инструкциям или таблице сравнения типов реквизитов.
Что такое реквизиты в 1С и зачем они нужны
Реквизит — это поле, которое хранит конкретную информацию об объекте конфигурации. Например, в справочнике Контрагенты реквизитами могут быть Наименование, ИНН, Адрес или Телефон. Без реквизитов объекты в 1С были бы пустыми "оболочками" без данных.
Все реквизиты делятся на два вида:
- 📌 Стандартные — заложены в конфигурацию по умолчанию (например,
НаименованиеилиКодв справочниках). Их нельзя удалить, но можно переименовать или скрыть. - 🔧 Дополнительные — создаются пользователем или разработчиком под специфические задачи (например,
Дата последнего заказадля клиента).
Реквизиты используются не только в справочниках, но и в:
- 📄 Документах (например,
СуммаилиДата оплатыв платежном поручении). - 📊 Регистрах (например,
Количествов регистре остатков товаров). - 🖥️ Отчетах (параметры фильтрации, такие как
ПериодилиОрганизация).
Важно понимать, что реквизиты влияют на:
- 🔄 Производительность — чем больше реквизитов, тем медленнее может работать система при больших объемах данных.
- 📈 Гибкость — правильно настроенные реквизиты позволяют быстро адаптировать конфигурацию под новые задачи.
- 🔒 Безопасность — некоторые реквизиты (например, пароли или персональные данные) требуют дополнительной защиты.
Типы реквизитов в 1С: какой выбрать для вашей задачи
Платформа 1С:Предприятие поддерживает более 20 типов реквизитов, но на практике чаще всего используются 7-8 основных. Выбор типа зависит от того, какие данные вы планируете хранить. Например, для даты рождения клиента подойдет тип Дата, а для списка возможных статусов заказа — Перечисление.
Рассмотрим самые востребованные типы:
| Тип реквизита | Пример использования | Особенности |
|---|---|---|
Строка |
Наименование товара, адрес клиента, комментарий | Можно ограничить длину (например, 50 символов). Поддерживает многострочный ввод. |
Число |
Цена товара, количество на складе, скидка в % | Можно задать точность (количество знаков после запятой) и диапазон значений. |
Дата |
Дата рождения, срок действия договора, дата оплаты | Автоматически проверяет корректность введенной даты. Можно ограничить диапазон (например, только будущие даты). |
СправочникСсылка.ИмяСправочника |
Клиент (ссылка на справочник Контрагенты), склад (ссылка на Склады) |
Позволяет выбирать значения из другого справочника. Можно ограничить выбор по условиям. |
Перечисление |
Статус заказа (Новый, В обработке, Выполнен) |
Фиксированный список значений. Удобно для выбора из ограниченного набора вариантов. |
Для сложных задач используются составные типы:
- 🔗
Характеристика— позволяет хранить дополнительные свойства объекта (например, цвет и размер для товара). - 📎
Двоичные данные— для хранения файлов (сканы документов, фотографии товаров). - 🔢
Табличная часть— для хранения списков (например, строки товара в документеРеализация).
Если вам нужно хранить данные, которые повторяются для многих объектов (например, список стран или валют), лучше создать отдельный справочник и использовать тип СправочникСсылка, чем дублировать значения в каждом реквизите.
Критическая ошибка: использование типа "Строка" для хранения чисел или дат приведет к невозможности сортировки и фильтрации данных по этим полям. Например, если дату хранить как строку "01.01.2023", система не сможет правильно отсортировать записи по дате.
Как добавить реквизит в конфигураторе: пошаговая инструкция
Если у вас есть права доступа к конфигуратору (обычно это доступно администраторам или разработчикам), вы можете добавлять реквизиты напрямую в структуру конфигурации. Этот способ дает максимальную гибкость, но требует осторожности — ошибки могут привести к сбоям в работе программы.
Инструкция для 1С:Предприятие 8.3:
- Откройте конфигуратор: запустите 1С в режиме
Конфигуратор(для этого удерживайтеShiftпри запуске программы). - Найдите объект, куда нужно добавить реквизит. Например, для справочника
Контрагентыперейдите в веткуОбщие → Справочники → Контрагенты. - В панели свойств объекта найдите вкладку
Реквизитыи нажмите кнопкуДобавить. - Заполните свойства нового реквизита:
- 📝 Имя — латинскими буквами без пробелов (например,
DateOfBirth). - 🏷️ Синоним — отображаемое имя на русском (например,
Дата рождения). - 🔢 Тип — выберите из списка (см. предыдущий раздел).
- 🔒 Длина/Точность — при необходимости (например, для строк или чисел).
- 📝 Имя — латинскими буквами без пробелов (например,
Файл → Сохранить) и обновите базу данных (Конфигурация → Обновить конфигурацию базы данных).☑️ Проверка перед сохранением конфигурации
После добавления реквизит появится в форме объекта. Если он не отображается, проверьте настройки формы:
- Откройте форму объекта (например, форму элемента справочника).
- Перейдите на вкладку
Реквизитыи найдите ваш новый реквизит. - Перетащите его на форму или настройте отображение через свойства.
Что делать если реквизит не сохраняется?
Если при сохранении конфигурации возникает ошибка, проверьте:
- Нет ли реквизита с таким же именем (даже если он скрыт).
- Соответствует ли тип реквизита ограничениям платформы (например, не все типы можно использовать в мобильном приложении).
- Достаточно ли прав у вашей учетной записи для изменения конфигурации.
Добавление реквизитов в пользовательском режиме (без конфигуратора)
Не все пользователи имеют доступ к конфигуратору, но многие типовые конфигурации (например, 1С:Бухгалтерия 8 или 1С:Управление торговлей 11) позволяют добавлять дополнительные реквизиты прямо в пользовательском режиме. Это удобно для бизнес-пользователей, которые не хотят вмешиваться в структуру конфигурации.
Рассмотрим процесс на примере 1С:Управление торговлей 11.4:
- Откройте справочник или документ, куда нужно добавить реквизит. Например, справочник
Номенклатура. - Перейдите в режим редактирования формы (обычно кнопка
Еще → Изменить формуилиНастроить форму). - В открывшемся окне найдите раздел
Дополнительные реквизиты и сведения. - Нажмите
Добавитьи заполните свойства:- 📌 Наименование — отображаемое имя (например,
Страна производитель). - 🔢 Тип значения — выберите из доступных (обычно строка, число, дата или справочник).
- 📋 Группа — если нужно сгруппировать реквизиты по категориям.
- 📌 Наименование — отображаемое имя (например,
Преимущества этого способа:
- ✅ Не требует прав доступа к конфигуратору.
- ✅ Изменения применяются только для текущей базы, не затрагивая конфигурацию.
- ✅ Можно быстро добавить реквизит для тестирования без риска "сломать" систему.
Ограничения:
- ❌ Не все типы реквизитов доступны (например, нельзя создать табличную часть).
- ❌ Дополнительные реквизиты могут не отображаться в некоторых отчетах или обработках.
- ❌ При обновлении конфигурации дополнительные реквизиты могут сброситься.
Дополнительные реквизиты, добавленные в пользовательском режиме, хранятся в отдельной таблице базы данных. Это означает, что они не влияют на производительность основных операций, но могут замедлить работу, если их становится слишком много (тысячи записей).
Настройка свойств реквизитов: что можно изменить
Создать реквизит — это только половина дела. Чтобы он работал корректно, нужно правильно настроить его свойства. От этого зависит, как реквизит будет отображаться, какие значения можно в него вводить и как он будет использоваться в отчетах.
Основные свойства реквизита (доступны в конфигураторе):
| Свойство | Назначение | Пример использования |
|---|---|---|
Имя |
Уникальный идентификатор реквизита (латиницей). Используется в коде и запросах. | CustomerINN для ИНН клиента. |
Синоним |
Отображаемое имя на русском. Может содержать пробелы и спецсимволы. | ИНН (без пробелов). |
Тип |
Определяет, какие данные можно хранить (строка, число, справочник и т.д.). | СправочникСсылка.Контрагенты для поля "Клиент". |
Длина |
Максимальное количество символов для строк или точность для чисел. | Длина 12 для ИНН, точность 2 для цены (2 знака после запятой). |
Заполнение |
Автоматическое заполнение значения при создании объекта. | Текущая дата для поля ДатаСоздания. |
Дополнительные настройки (зависит от типа реквизита):
- 🔢 Диапазон значений — для чисел и дат можно ограничить минимальное и максимальное значение (например, дата не раньше 01.01.2000).
- 📋 Маска ввода — шаблон для строк (например,
+7 (999) 999-99-99для телефона). - 🔍 Проверка заполнения — можно сделать реквизит обязательным для заполнения.
- 🔒 Права доступа — ограничить, кто может просматривать или редактировать реквизит.
Пример настройки маски ввода для телефона:
- В конфигураторе откройте свойства реквизита типа
Строка. - Найдите свойство
Маскаи введите шаблон:+7 (999) 999-99-99. - Установите флаг
Редактировать с маской. - Сохраните изменения.
Если вам нужно, чтобы реквизит автоматически заполнялся текущей датой или временем, используйте свойство Заполнение с функцией ТекущаяДата() или ТекущееВремя().
Для реквизитов типа СправочникСсылка можно настроить:
- 📌 Ограничение выбора — например, показывать только активные элементы справочника.
- 🔄 Форма выбора — какую форму использовать при выборе значения.
- 📊 Отображение — какие поля справочника показывать в списке выбора.
Распространенные ошибки при работе с реквизитами и как их избежать
Даже опытные пользователи 1С иногда допускают ошибки при создании реквизитов, которые потом сложно исправить. Вот самые частые проблемы и способы их предотвращения:
1. Неправильный выбор типа реквизита
- ❌ Ошибка: Хранение даты в виде строки (например, "01.01.2023") вместо типа
Дата. - ✅ Решение: Всегда используйте специализированные типы для дат, чисел и ссылок. Это позволит:
- 📅 Корректно сортировать и фильтровать данные.
- 🧮 Выполнять арифметические операции (например, вычитать даты).
- 🔗 Автоматически проверять корректность введенных значений.
2. Дублирование реквизитов
- ❌ Ошибка: Создание нескольких реквизитов с одинаковым назначением (например,
ТелефониКонтактныйТелефон). - ✅ Решение:
- 🔍 Перед созданием нового реквизита проверьте, нет ли уже подобного.
- 📋 Используйте один реквизит с возможностью многострочного ввода (для телефонов) или табличную часть (для нескольких адресов).
3. Избыточная длина строковых реквизитов
- ❌ Ошибка: Задание длины строки 255 символов для поля, где достаточно 50 (например, для фамилии).
- ✅ Решение:
- 📏 Оценивайте реальную необходимую длину. Для ИНН достаточно 12 символов, для email — 50.
- 💾 Избыточная длина увеличивает размер базы данных и может замедлить работу.
4. Отсутствие проверки заполнения
- ❌ Ошибка: Реквизит обязателен для бизнес-процесса, но не помечен как обязательный в настройках.
- ✅ Решение:
- ⚠️ Установите флаг
Проверка заполнениядля критичных полей (например,ИННдля контрагентов). - 📝 Добавьте подсказку с примером заполнения (свойство
Подсказка).
5. Неучтенные права доступа
- ❌ Ошибка: Реквизит с конфиденциальными данными (например, паспортные данные) доступен всем пользователям.
- ✅ Решение:
- 🔐 Настройте права на уровне ролей (в конфигураторе:
Администрирование → Пользователи и права → Роли). - 👥 Ограничьте доступ к реквизиту только для необходимых групп (например, только для кадровой службы).
Перед добавлением нового реквизита всегда спрашивайте себя: "Нужно ли это поле для бизнес-процессов? Не дублирует ли оно существующие данные? Как оно будет использоваться в отчетах?" Это поможет избежать "мусорных" реквизитов, которые только усложняют работу.
6. Игнорирование обновлений конфигурации
- ❌ Ошибка: Добавление реквизитов в пользовательском режиме без учета будущих обновлений типовой конфигурации.
- ✅ Решение:
- 🔄 Перед обновлением конфигурации сделайте резервную копию дополнительных реквизитов (они могут сброситься).
- 📋 Ведите документацию по дополнительным реквизитам, чтобы быстро восстановить их после обновления.
7. Неправильное именование
- ❌ Ошибка: Использование кириллицы или пробелов в имени реквизита (например,
Дата рождениявместоDateOfBirth). - ✅ Решение:
- 📌 Используйте латиницу и стиль
CamelCase(например,CustomerINN). - 🏷️ Для отображаемого имени используйте свойство
Синоним.
Если вы допустили ошибку при создании реквизита, не всегда нужно удалять его и создавать заново. В большинстве случаев можно:
- 🔄 Изменить тип реквизита (но будьте осторожны — это может привести к потере данных!).
- 📝 Переименовать реквизит (имя и синоним).
- 🔧 Перенастроить свойства (длину, проверку заполнения и т.д.).
Практические примеры: реквизиты для разных задач
Чтобы лучше понять, как применять реквизиты на практике, рассмотрим несколько реальных примеров из разных областей учета.
Пример 1: Добавляем реквизит "Скидка" для клиентов в справочнике "Контрагенты"
Задача: Нужно хранить индивидуальную скидку для каждого клиента, чтобы автоматически применять ее при оформлении заказа.
- Тип реквизита:
Число(с точностью 2 знака после запятой). - Длина: 5 (максимальная скидка 100%).
- Настройка:
- 📌 Имя:
Discount. - 🏷️ Синоним:
Скидка (%). - 🔢 Диапазон: от 0 до 100.
- 📊 В документе
Заказ клиентаавтоматически подставлять скидку из справочника. - 📈 В отчете
Продажи по клиентампоказывать среднюю скидку.
Пример 2: Реквизит "Дата последнего заказа" для анализа активности клиентов
Задача: Отслеживать, когда клиент последний раз делал заказ, чтобы отправлять напоминания или предложения.
- Тип реквизита:
Дата. - Настройка:
- 📌 Имя:
LastOrderDate. - 🏷️ Синоним:
Дата последнего заказа. - 🔄 Заполнение: автоматически обновлять при создании нового заказа (через обработчик события).
- 📅 Настраивать рассылку клиентам, которые не делали заказы более 3 месяцев.
- 📊 Строить отчеты по активности клиентов.
Пример 3: Табличная часть "Дополнительные контакты" для справочника "Контрагенты"
Задача: Хранить несколько телефонов и email для одного клиента (например, основной телефон, факс, email бухгалтерии).
- Тип реквизита:
Табличная часть. - Настройка табличной части:
- 📌 Имя:
AdditionalContacts. - 🏷️ Синоним:
Дополнительные контакты. - 📋 Колонки:
ContactType(тип:Перечисление; значения: Телефон, Email, Факс).ContactValue(тип:Строка, длина: 50).IsPrimary(тип:Булево; флаг "Основной контакт").
- 📞 Автоматическая подстановка основного телефона в документы.
- 📧 Массовая рассылка на все email клиента.
Пример 4: Реквизит "Фотография товара" для справочника "Номенклатура"
Задача: Хранить изображения товаров для печатных каталогов или интернет-магазина.
- Тип реквизита:
ХранениеДвоичныхДанныхилиСтрока(если изображения хранятся во внешней системе). - Настройка:
- 📌 Имя:
ProductImage. - 🏷️ Синоним:
Фотография товара. - 🖼️ Формат: ограничьте размер файла (например, до 5 МБ).
- 📄 Вставка изображений в печатные формы документов.
- 🌐 Интеграция с веб-сайтом для отображения фотографий в каталоге.
Пример 5: Реквизит "Менеджер" для распределения ответственности
Задача: Привязать каждого клиента к конкретному менеджеру, чтобы отслеживать его работу.
- Тип реквизита:
СправочникСсылка.Пользователи(если менеджеры — пользователи системы) илиСправочникСсылка.Сотрудники. - Настройка:
- 📌 Имя:
ResponsibleManager. - 🏷️ Синоним:
Ответственный менеджер. - 🔍 Ограничение выбора: только активные пользователи с ролью "Менеджер".
- 📊 Отчеты по продажам в разрезе менеджеров.
- 📧 Автоматическая рассылка уведомлений менеджеру о новых заказах его клиентов.
Для реквизитов, которые часто используются в отчетах (например, "Менеджер" или "Регион"), добавьте их в стандартные отчеты через настройку вариантов отчетов. Это сэкономит время при аналитике.
Как работать с реквизитами в запросах и отчетах
Реквизиты не только хранят данные, но и активно используются в