Константы

Константа — это прикладной объект, предназначенный для хранения постоянной или условно-постоянной информации. Обычно такая информация не меняется со временем или меняется очень редко. К примеру название организации, ставка НДС.

1. Хранение условно-постоянной информации

При работе с константами нужно учитывать важный нюанс — при изменении значения в константе, старое значение безвозвратно затирается. Для получения прежних значений необходимо использовать Регистр сведений без Измерений.

2. Формы константы

Формы констант хранятся в ветке ОбщиеОбщие формы. Для создания такой формы необходимо выполнить команду Создать форму констант контекстного меню нужной константы или в Палитре свойств выбрать свойство Основная форма.

Создадим общую форму Настройки для всех констант.

В конструкторе формы Настройки на вкладке Реквизиты имеется реквизит НаборКонстант, который содержит все константы созданные в конфигурации. Перетаскиванием их в левую часть конструктора на вкладку Элементы добавим на пользовательскую форму.

Для отображения условно-постоянной информации добавим реквизит ГлавныйБухгалтер с типом ДинамическийСписок. В свойстве ОсновнаяТаблица укажем РегистрСведений.ГлавныйБухгалтер. Разместим реквизит ГлавныйБухгалтер на форме, переместив реквизит на вкладку Элементы.

3. Отключение отображение константы в меню Сервис

Можно отключить отображение константы в меню Сервис. Для этого в Палитре свойств константы нужно убрать флаг в свойстве Использовать стандартные команды.

4. Чтение значения константы из формы

В конструкторе формы на вкладке Команды добавим новую команду ДанныеИзФормы. В свойстве Действие нажмем на иконку в виде лупы.  

В появившемся окне Создания обработчика команды выберем первый вариант — Создать на клиенте. Напишем код представленный ниже.

&НаКлиенте
Процедура ДанныеИзФормы(Команда)
	ЗначениеКонстанты = НаборКонстант.НазваниеОрганизации;
	Сообщить(ЗначениеКонстанты);
КонецПроцедуры

Перенесем команду на вкладку Элементы.

5. Чтение значения константы из базы данных

Добавим новую команду ДанныеИзБазы, размести ее на форме и в обработчике пропишем код представленный ниже.

&НаКлиенте
Процедура ДанныеИзБазы(Команда)
	ЗначениеКонстанты = ДанныеИзБазыНаСервере();
	ПоказатьОповещениеПользователя(ЗначениеКонстанты);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ДанныеИзБазыНаСервере()
	ЗначениеКонстанты = Константы.НазваниеОрганизации.Получить();
	Возврат (ЗначениеКонстанты);
КонецФункции

Обратите внимание, мы изменили название организации ООО «1000Мелочей» на ООО «Заря», но данные не записывали в базу данных, об этом свидетельствует снежинка рядом с заголовком формы Настройки *. Соответственно при нажатии на кнопку Данные из формы мы получаем значение — ООО «Заря», при нажатии на кнопку Данные из базы получаем значение — ООО «1000Мелочей».

6. Установка значения в константы

Добавим новую команду Установить новое значение с кодом представленным ниже.

&НаКлиенте
Процедура УстановитьНовоеЗначение(Команда)
	УстановитьНовоеЗначениеНаСервере();
КонецПроцедуры 

&НаСервереБезКонтекста
Процедура УстановитьНовоеЗначениеНаСервере()
	Константы.НазваниеОрганизации.Установить("ООО ""1000Мелочей""");
КонецПроцедуры

Важно! На форме новое название не отобразится после нажатия на кнопку Установить новое значение, факта модифицированности (снежинка рядом с заголовком формы Настройки * будет отсутствовать). Форму нужно закрыть без запись и открыть повторно.

  • Платформа: 1С:Предприятие 8.3 (8.3.21.1622)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *