Другое · 8 мин
Идентификатор для формул в 1С: что это и как правильно задать
Что такое идентификатор для формул в 1С, где он используется в ЗУП и других конфигурациях, как правильно задать идентификатор показателя и избежать ошибок в расчётах.
Идентификатор для формул — это служебное имя показателя, которое программа 1С использует при расчётах. Когда в конфигурации «1С:Зарплата и управление персоналом» (ЗУП) создаётся новый показатель расчёта зарплаты, помимо понятного пользователю наименования ему присваивается идентификатор — именно по нему показатель подставляется в формулы начислений и удержаний.
Типичная ситуация: расчётчик создаёт показатель «Премия за месяц», а затем в формуле начисления пишет выражение вида Оклад * ПремияЗаМесяц / 100. Слово ПремияЗаМесяц — это и есть идентификатор. Если написать в формуле наименование показателя с пробелами или изменить идентификатор после того, как он уже задействован в формулах, расчёт перестанет работать.
Механизм идентификаторов встречается не только в ЗУП. Похожие служебные имена используются в произвольных формулах отчётов, в настройках показателей эффективности, в формулах расчёта цен и в других механизмах, где пользователь составляет выражения из параметров. Везде действует один принцип: человек видит наименование, а программа оперирует идентификатором.
Где именно в 1С используется идентификатор для формул
Основное место применения — показатели расчёта зарплаты в 1С:ЗУП. Каждый показатель (оклад, процент премии, количество отработанных дней, районный коэффициент и т.д.) имеет идентификатор, который вставляется в формулы начислений и удержаний. Когда пользователь редактирует формулу в визуальном редакторе, он видит именно идентификаторы, а не полные наименования показателей.
Кроме зарплатных конфигураций, идентификаторы встречаются в формулах настраиваемых отчётов, в механизмах ценообразования (формулы расчёта цен по параметрам), в настройках KPI и в некоторых отраслевых решениях. Во всех случаях логика одинакова: формула строится из идентификаторов, а не из произвольного текста.
Требования к формату идентификатора
Идентификатор в 1С подчиняется общим правилам языка платформы. Он должен начинаться с буквы или символа подчёркивания, может содержать буквы русского и латинского алфавита, цифры и подчёркивания. Пробелы, дефисы, знаки препинания и специальные символы не допускаются — программа просто не даст сохранить такой идентификатор или выдаст ошибку при проверке формулы.
Практические рекомендации по именованию:
- используйте осмысленные имена:
ПроцентПремиипонятнее, чемПоказатель1; - не делайте идентификатор чрезмерно длинным — в сложных формулах это затрудняет чтение;
- избегайте идентификаторов, отличающихся только регистром или одной буквой, — их легко перепутать;
- согласуйте единый стиль именования внутри организации, если показателей много.
Как создать показатель и задать идентификатор в 1С:ЗУП
Новый показатель создаётся через раздел настройки расчёта зарплаты: «Настройка» → «Показатели расчета зарплаты». При создании элемента указывается наименование, назначение показателя (для сотрудника, подразделения или организации), способ ввода и точность. Поле «Идентификатор» обычно заполняется автоматически на основе наименования — программа убирает пробелы и недопустимые символы.
Автоматически сформированный идентификатор стоит проверить и при необходимости скорректировать до первого использования показателя в формулах. После того как показатель задействован хотя бы в одной формуле начисления или удержания, изменение идентификатора потребует правки всех формул, где он встречается.
- 1Откройте «Настройка» → «Показатели расчета зарплаты» и создайте новый показатель
- 2Заполните наименование, назначение и способ ввода показателя
- 3Проверьте автоматически сформированный идентификатор, при необходимости исправьте его на понятное имя без пробелов
- 4Сохраните показатель и откройте формулу начисления, где он должен использоваться
- 5Вставьте показатель в формулу через кнопку выбора, а не ручным вводом текста
- 6Проверьте формулу кнопкой «Проверить» и выполните тестовый расчёт зарплаты
Как использовать идентификаторы в формуле начисления
Формула начисления редактируется в специальном окне, где показатели вставляются из списка кнопкой или двойным щелчком. Это надёжнее ручного ввода: программа сама подставит корректный идентификатор, исключив опечатки. Пример формулы сдельной оплаты или премии может выглядеть так:
Оклад * ПроцентПремии / 100
После составления формулы обязательно используйте встроенную проверку. Она выявит ссылки на несуществующие идентификаторы, синтаксические ошибки и несоответствие типов. Если показатель удалить или переименовать его идентификатор, формула при проверке покажет ошибку, а расчёт зарплаты может выполняться с нулевым значением показателя — это приведёт к заниженным начислениям без явного сообщения об ошибке.
Типичные ошибки при работе с идентификаторами
Чаще всего проблемы возникают не из-за самой настройки, а из-за невнимательности при последующих изменениях. Ниже перечислены ситуации, которые регулярно приводят к ошибкам расчёта.
Отдельная группа проблем — перенос настроек между базами. Если формулы и показатели переносятся вручную или через обработки, идентификаторы должны совпадать в обеих базах. Расхождение даже в одном символе сделает формулу нерабочей в новой базе.
Как проверить, что формула и идентификаторы работают правильно
После настройки выполните контрольный расчёт на тестовом сотруднике. Введите значение показателя документом ввода данных для расчёта зарплаты, затем рассчитайте начисление и сравните результат с вручную посчитанным значением. Совпадение подтверждает, что идентификатор связан с показателем корректно и формула использует нужные данные.
Как проверить результат
Сообщение об отсутствии ошибок
Ошибка «показатель не найден» или синтаксическая ошибка
Сумма совпадает с ручным расчётом по формуле
Начисление равно нулю или не соответствует ожиданию
Видно, какое значение показателя подставлено в формулу
Показатель отсутствует в расшифровке или равен нулю при введённом значении
Часто задаваемые вопросы
Можно ли изменить идентификатор показателя после создания?
Технически — да, пока показатель не используется в формулах. Если он уже задействован, изменение идентификатора потребует обновления всех формул, где он встречается, иначе расчёты начнут выполняться с ошибками или нулевыми значениями.
Почему программа не даёт сохранить идентификатор с пробелом?
Идентификатор подчиняется правилам встроенного языка 1С: допускаются только буквы, цифры и символ подчёркивания, причём начинаться имя должно с буквы или подчёркивания. Пробелы и дефисы делают имя недопустимым для использования в выражениях.
Чем идентификатор отличается от наименования показателя?
Наименование — произвольный текст для пользователей, его можно менять в любой момент без последствий. Идентификатор — техническое имя, по которому формулы ссылаются на показатель; его смена влияет на работоспособность расчётов.
Формула выдаёт ошибку «показатель не найден», хотя показатель есть в списке. В чём причина?
Скорее всего, в формуле идентификатор набран вручную с опечаткой или отличается от фактического. Откройте карточку показателя, сверьте идентификатор посимвольно и вставьте его в формулу через кнопку выбора из списка.
Нужно ли задавать идентификаторы для предопределённых показателей, например для оклада?
Нет, типовые показатели уже имеют идентификаторы, заданные разработчиками конфигурации. Их можно посмотреть в карточке показателя и использовать в собственных формулах, но изменять не следует.
Что будет, если удалить показатель, который используется в формуле?
Формула станет некорректной: при проверке появится ошибка, а расчёт начисления может выполняться с нулевым значением удалённого показателя. Перед удалением проверьте все формулы, где показатель задействован.
Что важно запомнить
Идентификатор для формул — техническое имя показателя без пробелов и спецсимволов, по которому 1С ссылается на него в расчётах. Задавайте понятные идентификаторы при создании показателя, вставляйте их в формулы через выбор из списка и не меняйте после начала использования. Контрольный расчёт на тестовом сотруднике подтверждает корректность настройки.