# Использование переменных в программных модулях

В большинстве случаев, вместо переменных программных модулей следует использовать более подходящие средства разработки платформы 1С:Предприятие. 
Поскольку область видимости (использования) таких переменных сложно контролировать, 
то они зачастую становятся источником трудновоспроизводимых ошибок.

## Неправильно

```bsl

Перем КонвертацияФайлов Экспорт;

Процедура ПередЗаписью(Отказ)

  Если КонвертацияФайлов Тогда 
  ...

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

// вызывающий код
ФайлОбъект.КонвертацияФайлов = Истина;
ФайлОбъект.Записать();

```

## Правильно

```bsl

Процедура ПередЗаписью(Отказ)

  Если ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда 
  ...

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

// вызывающий код
ФайлОбъект.ДополнительныеСвойства.Вставить("КонвертацияФайлов", Истина);
ФайлОбъект.Записать();

```

## См.

- [Использование переменных в программных модулях](https://its.1c.ru/db/v8std/content/639/hdoc)

