Для начинающих        07.04.2024   

1с получение константы из внешней обработки. Константы

Итак в 1С есть справочники. Например, справочник товаров (номенклатуры). Там мы укажем список товаров, которыми торгует наша организация.

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

Товары бывают разные. Например, продукты и химия. Что делать, если руководитель попросит сделать отчет – сколько денег мы заработали на продуктах, а сколько на химии?

Легко! – ответим мы. Нужно добавить справочник Видов товаров, а в справочнике Номенклатура добавить такой реквизит. Теперь когда мы вводим новый товар – нужно будет выбрать вид товара.

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

Отлично! – отметим мы. И… что делать?

Константы 1С

Для редактирования констант открывается форма констант по умолчанию. Каждое поле на такой форме – это одна константа.

Добавить форму констант можно двумя способами:

  • Нажать правой кнопкой на ветку Константы 1С и выбрать пункт меню Создать форму констант
  • Добавить форму в ветку Общие/Общие формы и в мастере выбрать тип формы – Форма констант.

Посмотреть (и выбрать) форму констант можно следующим образом:

  • Войти в свойства конфигурации (правой кнопкой мыши на верхней корневой ветке конфигурации, которую программисты обычно называют «Голова») и использовать свойство Основная форма констант.

Форма констант отличается тем, что основной реквизит формы имеет тип «КонстантыНабор». Это позволяет записывать константы 1С не поштучно, а сразу набором.

Кстати, реквизит формы становится «основным», если в свойствах формы он указан в свойстве Данные.

В программе на языке 1С к любой константе можно обратиться легко и просто:

Знч = Константы.НужнаяКонстанта.Получить(); //считываем
Константы.НужнаяКонстанта.Установить(Знч); //записываем

Параметры сеанса 1С

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

При создании нового товара программа на языке 1С в ПриОткрытииФормы() будет устанавливать значение поля Вид товара в тот, который назначен в константе. Вуаля!

Теперь программа работает, но мы на этом не остановимся! Еще бы – мы же крутые программисты, мы хотим, чтобы программа не просто работала, но и работала быстро!

Где хранятся константы 1С? В базе данных, в специальной таблице. Каждый раз, когда оператор создает новый товар, будет ломиться на сервер и считывать значение константы 1С. А что если операторов 200 человек? Оптимально ли это?

Что же тогда делать?

И тут мы вспоминаем про параметры сеанса 1С. Это значения наподобии констант, которые заполняются в момент старта 1С в режиме Предприятие и доступны сразу на клиенте. Иначе говоря – это некий кеш на стороне клиента.

Кроме того, если в константе список мы можем хранить только в хранилище значений, то в параметр сеанса 1С мы ее уже можем распаковать, правда она будет не динамической – с типом ФиксированныйМассив.

Параметры сеанса 1С это тоже , в окне конфигурации находится в ветке Общие/Параметры сеанса 1С.

Мало добавить параметр сеанса 1С, потому что если он не заполнен, то программа покажет ошибку.

Заполнение (установка) параметров сеанса 1С должна производиться при старте 1С в режиме Предприятие. Нажмите правой кнопкой на верхнюю ветку конфигурации (программисты называют ее «Голова») и выберите пункт меню Открыть модуль сеанса.

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

ПараметрыСеанса.НужныйПараметр = Знч; //запись, один раз в самом начале
Знч = ПараметрыСеанса.НужныйПараметр; //чтение, строго после записи.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обратите внимание на слово «Константы», а не «Константа», как было в версии 1С 7.7.

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

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

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

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

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

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

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

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

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

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

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

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

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

Более подробно язык запросов 1С будет описан в следующих материалах справочника 1С.

Есть вопросы, что то нужно осветить подробнее, спрашивайте в комментариях.

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

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

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

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

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

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

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

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

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

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

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

Константы 1с Предприятие 8.2

Давайте рассмотрим, для чего нужны константы в 1с 8.2 . Прежде всего, константы — это данные, которые всегда остаются неизменными и имеют одно и то же значение, независимо от времени. Одна константа может хранить в себе одно значение. Это может быть название компании, ФИО главного бухгалтера или валюта финансовых взаиморасчетов. Чтобы создать константу, нужно зайти в конфигуратор 1с, найти в конфигурации объект «Константы» и, щелкнув дважды правой кнопкой мыши, выбрать «Добавить».

Далее нам необходимо указать два главных параметра для констант: имя и тип данных. Давайте для примера создадим константу 1с «Название организации». Теперь следует выбрать нужный тип данных. В нашем случае, это «строка». На картинке ниже представлен список других типов данных для констант 1с Предприятие 8.2 .


Как создать форму для констант 1с?

Чтобы пользователи могли сами изменять значения констант без помощи программистов, нужно создать форму для константы. Это можно сделать, щелкнув правой кнопкой мыши на объекте конфигурации «Константы».


После этого мы увидим следующее.


Нажав на кнопку «Готово», перед нами откроется внешний вид всех наших констант. В данном случае имеется только одна константа 1с и поле, куда мы можем записать название нашей организации.

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