Где находятся процедуры и функции, которые используются в видео, например, ЗначениеЗаполнено()?
Процедуры и функции, используемые в коде 1С:Предприятие, такие как ЗначениеЗаполнено(), могут находиться в разных местах в зависимости от того, являются ли они встроенными функциями платформы, частью библиотеки стандартных подсистем (БСП), внешней обработкой или написаны самостоятельно в рамках проекта.
1. Встроенные функции и процедуры платформы
Функция ЗначениеЗаполнено() является встроенной функцией платформы 1С:Предприятие. Её можно использовать без предварительного объявления в любом модуле — в модуле объекта, формы, менеджера, общего модуля и т.д.
Примеры встроенных функций:
-
ЗначениеЗаполнено()
-
НайтиПоКоду()
-
СокрЛП()
-
НРег()
-
СтрЗаменить()
-
ТипЗнч()
Такие функции определяются на уровне платформы, и их невозможно просмотреть в исходниках, так как они встроены в ядро платформы. Документацию по ним можно найти в официальной справке 1С или на its.1c.ru.
2. Общие модули
Если функция не является встроенной, скорее всего, она определена в общем модуле. Общие модули — это место, где хранятся общедоступные процедуры и функции, которые могут вызываться из других объектов.
Как найти:
-
Открой конфигуратор.
-
Перейди к Общие модули.
-
Воспользуйся поиском (Ctrl+F) по всем модулям — например, введи имя функции: ИмяФункции(.
-
Посмотри, не определена ли она в модулях типа ОбщиеМодули.ИмяМодуля.Функция().
Пример:
Функция ПолучитьНастройкиПользователя()
Может вызываться как:
ОбщиеМодули.УправлениеНастройками.ПользовательскиеНастройки()
Если у общего модуля стоит флажок "Экспорт", то его функции и процедуры могут вызываться из других объектов. Если флажка нет — функции доступны только внутри самого модуля.
3. Модули объектов
Некоторые процедуры или функции определяются в модулях объектов, таких как:
-
Документы
-
Справочники
-
Перечисления
-
Планы видов характеристик и т.д.
Пример:
Процедура ОбработкаПроведения()
Находится в модуле объекта документа. Чтобы найти:
-
Перейди в конфигураторе к нужному объекту (например, Документы → РеализацияТоваровУслуг).
-
Выбери "Модуль объекта" или "Модуль менеджера".
4. Модули форм
Если функция используется только в пользовательском интерфейсе (например, при нажатии кнопки), то она может находиться в модуле формы. Такие функции и процедуры, как правило, не экспортируются и работают только в пределах конкретной формы.
Пример:
Процедура ПриНажатииКнопки(Команда)
Чтобы найти:
-
Открой нужный объект в конфигураторе.
-
Перейди на вкладку Формы.
-
Открой соответствующую форму.
-
Перейди в модуль формы.
5. Вспомогательные модули БСП (библиотека стандартных подсистем)
Если используется БСП, то большинство повторно используемых процедур определены в модулях с типичными именами:
-
ОбщиеМодули.УправлениеПользователями
-
ОбщиеМодули.ОбщиеПроцедуры
-
ОбщиеМодули.Форма
Такие модули подключаются в конфигурацию и содержат функции по работе с правами доступа, интерфейсами, логикой авторизации и т.д.
Например:
ОбщиеМодули.УправлениеПользователями.ЗначениеПользователяПоУмолчанию()
6. Процедуры и функции из внешних обработок
Если вы используете внешнюю обработку (.epf или .erf), то функции и процедуры могут быть определены в модулях самой обработки. В таком случае:
-
Нужно открыть внешний файл в режиме конфигуратора (через 1С:Предприятие с правами администратора).
-
Перейти к модулям и просмотреть их содержимое.
7. Как узнать, встроенная ли функция или пользовательская
Есть простой способ:
-
Если при вызове функции не указано пространство имён (например, просто ЗначениеЗаполнено()), то это либо встроенная функция, либо функция в текущем модуле.
-
Если указано, например, ОбщиеМодули.ИмяМодуля.ИмяФункции() — это точно функция в общем модуле.
8. Как использовать встроенную справку 1С
Чтобы убедиться, встроена ли функция в платформу:
-
Выдели название функции, например ЗначениеЗаполнено, в модуле.
-
Нажми F1.
-
Если откроется справка 1С с описанием параметров и возвращаемого значения — значит, функция встроенная.
-
Если нет — функция пользовательская и определена в конфигурации.
Таким образом, чтобы понять, где находится конкретная процедура или функция, нужно:
-
Определить, встроенная она или пользовательская.
-
Если пользовательская — проследить, откуда она вызывается (модуль формы, объекта, общий модуль).
-
Использовать поиск по конфигурации.
-
В случае внешних обработок — открывать их в конфигураторе и изучать модули.