Безопасность        13.02.2024   

1с обращение к константе по имени. Константы

Описание констант 1с 8.
Обращение к константам из программы на встроенном языке производится очень просто, хотя этот способ и отличается от версии 7.7

1С (Код)

// чтение значения из константы Название = Константы.НазваниеОрганизации.Получить(); // запись нового значения в константу Константы.НазваниеОрганизации.Установить(НовоеНазвание);

Обратите внимание на слово Константы (а не Константа, как было в версии 7.7). Через такую конструкцию мы обращаемся к объекту КонстантыМенеджер (заметьте, что применяется множественное число), который позволяет затем обратиться к менеджеру конкретной константы по ее имени.

Если расшифровать приведенный выше пример, то станет более понятна взаимосвязь объектов:

1С (Код)

//получаем объект для управления списком констант КонстантыМенеджер = Константы; //получаем объект для управления одной константой КонстантаМенеджер = КонстантыМенеджер.НазваниеОрганизации; //считываем значение константы из базы данных Значение - КонстантаМенеджер.Получить(); //записываем новое значение константы в базу данных КонстантаМенеджер.Установить(НовоеЗначение);

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

Существуют свойства глобального контекста, ссылающиеся на объекты типа КонстантыМенеджер, СправочникиМенеджер, ДокументМенеджер и т.д., они называются односложно: Константы, Справочники, Документы. Это позволяет упростить написание программы и следующие примеры это демонстрируют:

1С (Код)

Назв = Константы.НазваниеОрганизации.Получить(); СпрСотр = Справочники.Сотрудники; ВсеДолжности = Справочники.Должности.Выбрать(); ДокНакл = Документы.РасходнаяНакладная;

Работа с константами производится с помощью нескольких объектов, и необходимо понимать их взаимосвязь, потому что подобная ситуация повторяется почти с каждым объектом конфигурации.

Ниже дано описание объектов для работы с константами:

КонстантыМенеджер

Объект предоставляет доступ к списку констант. Через этот объект можно перебрать все константы с помощью конструкции «Для Каждого» или получить объект КонстантаМенеджер для управления конкретной константой. Кроме того, данный объект позволяет создать объект КонстантыНабор для одновременного чтения и записи сразу нескольких констант.

КонстантаМенеджер

Менеджер константы обеспечивает доступ к конкретной константе. Через него можно прочитать и установить ее значение с помощью методов Получить и Установить.

КонстантыНабор

Через этот объект можно получить доступ сразу к нескольким константам, но необязательно всем существующим в

конфигурации.

Схематично взаимосвязь объектов для работы с константами можно отобразить следующим образом:

Константы используются для хранения одного значения в базе данных. Обычно в константах хранится редко изменяемая информация, например, название организации, адрес организации, фио руководителя и т.д.

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

1. Чтение значения константы

// чтение значения Константы
Название = Константы . НазваниеОрганизации . Получить ();

Обратите внимание на слово Константы (а не Константа, как было в версии 7.7).

2. Запись нового значения константы

Для записи (установки) нового значения константы используется метод Установить ()

// запись нового значения Константы
Константы . НазваниеОрганизации . Установить ("ООО Рога и копыта");

3. Работу с набором констант

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

//создаем набор из трех констант

//обратите внимание, что мы лишь создаем набор констант и пока не знаем их значения

Набор = Константы . СоздатьНабор ("Руководитель,НазваниеОрганизации,АдресОрганизации");

Так как при работе с набором констант мы может изменить (записать) значения всех констант набора одновременно, то сначал нам необходимо установить каждой константе новое значение, а затем с помощью метода Записать () произвести их одновременную запись.

//устанавливаем значение констант в наборе (не в базе)
Набор . Руководитель = "Иванов И.И.";
Набор.НазваниеОрганизации = "ООО Новые рога и копыта";
Набор.АдресОрганизации = "Россия, г. Москва, Кремль";
Набор . Записать (); //записываем в базу сразу значения трех констант

4. Сравнение со значением константы в запросах

Иногда нам может потребоваться в запросе сравнить данные со значением константы. В данном примере мы выбираем записи из справочника Напоминания, у которых значение реквизита Код равно значению нашей константы НашеЧисло. Более подробно язык запросов 1С мы рассмотрим в следующих материалах по встроенному языку 1С.

"ВЫБРАТЬ
| НашеЧ.Значение,
| Напоминания.Код,
|ИЗ
| Константа.НашеЧисло КАК НашеЧ,
| Справочник.Напоминания КАК Напоминания
|ГДЕ
| Напоминания.Код = НашеЧ.Значение"

Комментарии

    //теперь с помощью метода Получить() мы можем прочитать значения констант нашего набора

    Набор.Прочитать(); //прочитать из базы сразу три константы

    Интересно, здесь нет опечатки? Вроде речь шла о методе Получить().

Знакомство с 1С Бухгалтерией

Константы в программе 1С Бухгалтерия как правило служат для хранения информации которая либо совсем не изменяется, либо изменяется редко. Наиболее простой пример это название организации которое изменяется достаточно редко. Удобство использования констант заключается в том, что в них один раз заносится информация которая затем может многократно использоваться при формировании документов, отчетов, при построении отчетных форм.

Окно списка констант

Вся работа с константами ведется в окне Список констант . Если конечный пользователь имеет доступ к работе с константами, то это окно может быть вызвано каким либо пунктом меню, кнопкой в панели инструментов или через системное меню Операции .

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

Редактирование константы

При работе с программой 1С Бухгалтерия пользователь может редактировать константы только в графе Значения для чего достаточно ввести курсор в нужную ячейку и нажать клавишу Enter . Редактирование иных граф таблицы осуществляется только в конфигураторе.

Работа с историей значения константы

При настройки конфигурации задачи можно задать хранение истории изменения значений для любой константы. Такие константы называются периодическими. В этом случае будут храниться не только последние значения констант но и их предыдущие значения с датами их ввода. Для просмотра истории константы необходимо поставить курсор на строку с нужной константой и нажать клавишу F5 .

Окно истории констант представляет собой таблицу в которой указана дата и зачение константы на эту дату. Записи в таблице сортируются по дате. Изменение в таблице вводятся автоматически при каждом изменении значения константы причем, если в течении одной даты было несколько изменений значения то сохраняется только последнее значение.

При необходимости ввести новую строку нажмите клавишу Ins после чего в новые ячейки нужно ввести дату и значение константы. Для отмены нажмите клавишу Esc .

Константы 1С 8.3 — это объект метаданных, который хранит в себе редко изменяющуюся информацию.

Как правило, в константах хранят информацию о настройках системы. Например: валюта регламентированного учета, заголовок системы, значения для и т.д.

Разберем основные свойства, настройки и особенности технической реализации констант в 1С на уровне СУБД.

Свойства и настройка константы в 1С

У менеджера объекта две основных функции в программном коде:

  • Константы.<Название константы>.Получить(); — получение текущего значения константы;
  • Константы.<Название константы>.Установить(<Значение>); — установка нового значения константы.

Получите 267 видеоуроков по 1С бесплатно:

Рассмотрим основные свойства палитры свойств объекта метаданных — константа:

  • Тип — тип константы ничем не ограничен.
  • Модуль менеджера значения — модуль константы, в котором описываются следующие обработчики: ОбработкаПроверкиЗаполнения, ПередЗаписью, ПриЗаписи.
  • Режим управления блокировкой данных — управляемый или автоматический режим .
  • Использовать стандартные команды — флаг, отвечающий за использование стандартного отображения команды на интерфейсе конфигурации. Часто этот флаг может стать ответом на вопрос — Почему не отображается константа в интерфейсе?
  • Основная форма — форма из списка , которая установлена как основная для редактирования значения константы.

Видео по созданию и использованию констант:

Особенности реализации констант на уровне СУБД и 1С

Особенности условно можно разделить на два типа по версиям платформы 1С:

  • до релиза 8.2.14 — все константы в системе хранились в одной таблице. При изменении одной записи блокируется вся таблица. Необходимо быть очень аккуратным при использовании этого объекта метаданных;
  • после релиза 8.2.14 — для каждой константы сделали свою таблицу. Параллельность работы повысилась.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте