Что в программе 1с используется для описания наборов постоянных значений

Обновлено: 04.07.2024

В платформе 1С 8.3 имеется объект метаданных Константы. Смысл констант в языке программирования 1С несколько другой, чем в других языках. В 1С константы хранят постоянную или условно постоянную информацию, которая редко изменяется. Здесь я опираюсь на слово «изменяется». Если в других языках программирования пользователь не может менять константу, то в платформе 1С имеется такая возможность, но по определению делать он это должен крайне редко. В этой статье мы будем учиться работать с константами: научимся создавать их, научимся работать с константами в командном интерфейсе 1С 8.3, узнаем, что такое форма констант и научимся программно обращаться к константе: получать значение константы и записывать константу.

Создание константы в 1С

Создадим несколько констант 1С. Обратите внимание на ветку Константы в дереве метаданных конфигуратора 1С, это именно то место, где в 1С расположен список констант. Найдем эту ветку в дереве, выделим её, и вызовем правой кнопкой мышки контекстное меню, в котором нас интересует команда «Добавить».

Где в 1С константы

После выполнения этой команды, константа будет создана, а в правой части рабочего стола откроется палитра свойств новой константы. Здесь мы можем указать название константы и её тип. Пусть наша первая константа будет называться НазваниеОрганизации (тип строка (200)).

Константа 1С и палитра свойств

Создадим еще несколько констант с примитивными типами.

Дата начала работы организации (тип Дата).

Константа 1С и палитра свойств

Процент налога на прибыль (тип число)

Константа 1С и палитра свойств

Константы в командном интерфейсе 1С

Объект не включен ни в одну подсистему

В моей учебной конфигурации имеется подсистема НСИ, в эту подсистему я и добавлю все новые константы

Сделать это можно двумя способами.

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

 Включение константы в подсистему

Второй. У константы вызвать контекстное меню, в котором выполнить команду «Дополнительно».

Контекстное меню константы

В открывшейся в правой части окне «Дополнительно», на закладке Подсистемы нужно установить флаг рядом с той подсистемой, в которую хотите включить константу.

Контекстное меню константы

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

Константы в пользовательском приложении 1С

Константы в пользовательском приложении 1С

Разберем, почему они там оказались.

Во-первых, если мы войдем в командный интерфейс подсистемы НСИ, в которую я добавил все константы, то найдем их в группе команд «Панель действий. Сервис», в эту группу платформа поместила команды на открытие констант автоматически, после того, как мы добавили константы в подсистему.

Константы в командном интерфейсе

Во-вторых, у каждой константы имеется свойство Использовать стандартные команды, это свойство отвечает за то, будут ли использоваться стандартные команды работы с константой (открытие формы редактирования) или нет.

Свойство константы использовать стандартные команды

Например, если мы снимем это свойство у константы «Процент налога на прибыль».

Свойство константы использовать стандартные команды

То команда на открытие этой константы исчезнет, как и из командного интерфейса подсистемы.

Константы в командном интерфейсе

Так и из командного интерфейса пользовательского приложения.

Константы в командном интерфейсе

Если мы выполним команду на открытие константы из пользовательского интерфейса, то откроется форма для ввода (редактирования) константы (поле ввода может меняться в зависимости от типа данных константы).

Форма ввода константы

Форма констант 1С

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

Создадим форму констант. Для этого нужно выделить ветку метаданных Константы, вызвать контекстное меню, и выполнить команду «Создать форму констант…» этого меню.

Создание формы констант

Откроется конструктор общих форм.

Конструктор общих форм для формы констант

Где советую обратить внимание на Тип Формы, и на свойство Использовать стандартные команды. Первое указывает, что это форма константа, а при установке второго будут созданы стандартные команды на открытие этой формы.

После нажатия кнопки Далее, необходимо будет выбрать, какие константы войдут в эту форму.

Выбор констант для общей формы

После того, как выбрали нужные константы, нажимаем кнопку Готово, и управляемая форма констант будет создана.

Форма констант 1С

Замечу, что форма добавилась в ветку Общие формы ветки Общие дерева метаданных 1С.

Нам осталось включить общую форму констант в подсистему. Для этого вызовем контекстное меню общей формы констант и выполним команду «Дополнительно»

Контекстное меню формы констант

В открывшемся окне включим форму констант в подсистему 1С.

Включение формы констант в подсистему

Также эту форму можно добавить в подсистему, напрямую во время редактирования подсистемы.

Включение формы констант в подсистему

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

Как в командном интерфейсе подсистемы в конфигураторе.

Форма констант в командном интерфейсе в конфигураторе

Так и в пользовательском режиме

Форма констант в командном интерфейсе пользовательского приложения

Если эту форму открыть, то в ней будут поля ввода для всех констант, которые мы добавили при создании этой формы.

Открытая форма констант

Что делать, если форма уже создана, но позже добавили новую константу, например «ИНН Организации».

Новая константа 1С

Тогда следует добавить новую константу на форму. Для этого, нужно открыть форму на редактирование, развернуть в закладке Реквизиты дерево НаборКонстант, найти в этом дереве новую константу и перетащить её в элементы формы.

Добавление новой константы на форму констант

Как получить константу 1С

В этом случае процедура Получить(Команда) это обработчик команды, которая вызывает процедуру ПолучитьНаСервере. В этой процедуре используется объект Константы, который имеет тип КонстантыМенеджер, и посредством которого можно программно обратиться к любой константе.

Выбор констант менеджера констант

Константы.НазваниеОрганизации – это уже менеджер конкретной константы, у которого есть метод Получить(), при помощи которого можно получить значение константы.

Вы заметили, что с менеджером команды я работаю в серверном контексте (под директивой &НаСервереБезКонтекста, но можно использовать и директиву &НаСервере ). Это потому что менеджер констант имеете доступность Сервер, Толстый клиент и прочее «тяжелые» режимы. В тонком клиенте нельзя обратиться к менеджеру констант!

Установить значение константы

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

В параметрах метода менеджера Установить необходимо указать новое значение константы. Замечу, тип значения в параметре должен совпадать с типом константы. Точно также как и с получением значения, устанавливать значение константы нужно в серверном контексте.

Другие статьи по теме конфигурирования:

Программировать в 1С за 11 шагов

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

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

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Объект 1С "Константы" — это объект конфигурации (объект метаданных), предназначенный для хранения редко изменяющейся информации, в т.ч. о настройках системы. Каждая константа позволяет хранить одно значение (например, значение по умолчанию для некоторого справочника).

Объект 1С "Константы"

Добавление константы выполняется с использованием контекстной команды "Добавить".

Свойства объекта "Константы" в 1С

Палитра свойств объекта 1С "Константы"

Основные свойства объекта метаданных 1С "Константы":

Тип — тип константы, может быть выбран из раскрывающегося списка, являться составным типом или определяемым типом. Ничем не ограничен, может редактироваться.

Тип константы 1С

Модуль менеджера значения — модуль константы, в котором описываются следующие обработчики:

  • <ПередЗаписью>
  • <ПриЗаписи>
  • <ОбработкаПроверкиЗаполнения>
  • <ОбработкаФормированияПоВерсииИсторииДанных>

Режим управления блокировкой данных — управляемый или автоматический режим блокировок 1С:

  • Автоматический - при записи, скажем, любого элемента справочника, будут использоваться автоматические блокировки, устанавливаемые СУБД. Собственный менеджер блокировок 1С задействован не будет.
  • Управляемый - дополнительный режим работы, позволяющий использовать собственный менеджер транзакционных блокировок 1С:Предприятия, независимый от используемой СУБД.

ВАЖНО! Режим управления блокировкой данных конкретного объекта конфигурации зависит от значения свойства «Режим управления блокировкой данных» в палитре свойств Конфигурации:

  • при выборе значений Автоматический или Управляемый режим блокировок при чтении или записи данных любого объекта конфигурации будет определяться именно этим выбранным значением .

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

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

Если для свойства конфигурации выбран режим Автоматический и управляемый , то для конкретного объекта конфигурации режим блокировки будет определяться значением свойства Режим управления блокировкой данных самого объекта конфигурации (см. выше).

Режим управления блокировкой данных конфигурации 1С

Использовать стандартные команды — флаг, отвечающий за использование (видимость) стандартного отображения команды на интерфейсе конфигурации (прикладного решения).

Основная форма — форма из списка общих форм, которая установлена как основная для редактирования значения константы.

Основные формы вызываются взамен автоматически генерируемых по умолчанию при соответствующем обращении к объекту.

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

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

Основные формы указываются в конфигураторе.

В качестве основной формы можно назначить как обычную, так и управляемую форму ( возможность зависит от настроек конфигуратора : если конфигурация работает в режиме совместимости, то можно назначить и обычную форму).

Всем привет. продолжаем изучать платформу 1С: Предприятие 8.3. Это уже второй урок, в котором мы начнем изучать основные объекты платформы для возможности разработки собственного приложения. Первый объект - это константа.

Приступим к изучению!

Часть 1. Запуск созданной информационной базы ( Урок 1 )

Запустим ярлык на рабочем столе, откроется уже знакомое окно, в котором есть два режима: режим разработчика и режим пользователя. Так как в прошлом уроке мы мы создали информационную базу, нам ее еще раз создавать ненужно. Выделим нашу информационную базу "Автоматизация предприятия" и нажмем на кнопку "Конфигуратор". По нажатию на эту кнопку происходит переход в режим разработчика.

Здесь нужно понять лишь один смысл! Если мы хотим разработать что-то свое, то это только режим разработчика. Если мы хотим работать в существующей программе, то это режим пользователя. Платформа позволяет работать одному человеку сразу в двух режимах (сначала что-то разработал, потом заходишь и проверяешь).Учебная версия - она ограничена по функционалу и дает возможность работать только одному человеку. А если лицензия - то их может доходить и до 300 (все зависит от вида лицензии).

Нажимаем кнопку "Конфигуратор" (Рисунок 1).

Произошел переход в режим разработчика (Рисунок 2).

На рисунке 2 показана иконка, на которую нужно нажать и у вас откроется дерево конфигурации (Рисунок 3).

Дерево конфигурации - это дерево, которое имеет ветви, а каждая ветвь в свою очередь имеет какие-то отростки - объекты. Объекты - это константы, справочники, документы и так далее. Более подробно можно почитать нажав сюда.

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

Как только разработчик создает справочник или константу, она сразу же отображается в режиме пользователя.

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

Ничего не создавая, перейдем в режим пользователя и еще раз убедимся в том, что там ничего нет. Для этого выполним команду: "Сервис-1С:Предприятие" (Рисунок 4).

Откроется знакомое окно и оно действительно пустое (Рисунок 5).

На рисунке 5 отображается пользовательский режим, а сверху написано имя вашей программы и называется она "Конфигурация". Давайте изменим его и назовем "Автоматизация предприятия". Закроем режим "1С: Предприятие" на крестик в верхнем правом углу и вернемся в режим разработчика.

Выделим в дереве конфигурации корень этого дерева - слово Конфигурация, правой кнопкой мыши вызовем контекстное меню (или дважды щелкнем по нему правой кнопкой мыши) и выберем пункт "Свойства" (Рисунок 6).

Откроется палитра свойств (рисунок 7)

Палитра свойств - это окно, в котором отображаются все свойства, доступные для данного объекта. В данном случае, это свойства всего дерева конфигурации.

В открывшейся палитре свойств нам сейчас важны два свойства, Имя и Синоним.

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

Синоним - это имя, которое будет отображаться в пользовательском режиме и будет видно пользователю. То есть это то свойство, которое необходимо для пользователя.

Имя и синоним могут быть одинаковыми. Правила задания свойства "Имя":

1. Должно начинаться с буквы

2. Не может содержать пробелов и других специальных символов кроме подчеркивания "_"

3. Пишется слитно, но каждое слово с большой буквы - "АвтоматизацияПредприятия". Этот способ называется - верблюжий. В этом случае платформа понимает, что ей необходимо отделить каждое слово друг от друга (Рисунок 8).

Часть 2. Изменим имя конфигурации (программы)

Изменим имя "Конфигурация" на "АвтоматизацияПредприятия" и нажмем "Tab". В этом случае (Рисунок 8) синоним автоматически заполнится и разделится на два слова (но можно и просто перенести курсор в поле синоним), а свойство Имя останется также слитно - так и должно быть.

Таким образом мы изменили нашу программу (она называется конфигурация или программное решение - это термины 1С). Посмотрите на рисунок 8, в дереве объектов изменилось название. Теперь необходимо обновить программу, внести изменения и проверить все в пользовательском режиме. Нажмем клавишу F7 или значок на панели инструментов (Рисунок 9)

После того, как нажали клавишу или на этот значок, значок обновления должен стать серым и недоступным - это значит, что пока нет никаких изменений в вашей программе.

Перейдем теперь в режим пользователя и проверим изменения. Для этого необходимо выполнить команду "сервис-1С6Предприятие". Откроется знакомое окно, в котором будет название нашей программы (рисунок 10).

Сейчас вы уже сделали первых два шага по разработке своей конфигурации и это уже совсем не плохо!

Часть 2. Создание константы

Теперь необходимо как-то дальше разработать программу, чтобы она подходила для вашего предприятия.

Что такое константа? Константа - это объект дерева конфигурации, который предназначен для хранения постоянной величины или величины, которая меняется очень редко.
Константа я языках программирования - это то, что никогда не изменяется. Тем это и отличается в платформе. В платформе 1С это величина, которая изменяется крайне редко.

Вся платформа 1С создана так, что ее смысл понятен в русском языке. Константа в жизни каждого человека, это, например, его имя. Оно вроде является постоянной величиной, но его можно изменить. Или, это фамилия, инн, адрес и так далее. все это константы в понимании 1С.

Константа нужна для хранения "постоянной" величины. В нашем случае константами будут являться: 1. ИНН организации, имя директора магазина, адрес магазина и так далее - все это константы.

Перейдем в режим разработчика, выделим константу и правой кнопкой мыши добавим новую константу (или это можно сделать иначе. Выделить константы и нажать на плюсик в верхней панели дерева объектов).

Константа – это прикладной объект в программе 1С:Бухгалтерия Предприятия, используемый для хранения какого-либо значения в информационной базе, которое не будет изменяться (или будет меняться очень редко). Одна константа хранит одно значение. В константах 1С 8.3 можно хранить значение по умолчанию (название организации, основную валюту, единицы измерения, данные для обновления в типовых конфигурациях, настройки программы 1С). Они могут иметь различные типы данных. Например, для хранения списков можно использовать константу с типом ХранилищеЗначения, а для заголовка системы используется строка.

константа с типом ХранилищеЗначения

1. Как создать константу

Для того чтоб создать константу, нужно открыть конфигурацию 1С Предприятие 8.3. В дереве конфигурации найти пункт «Константы».

ХранилищеЗначения

Далее нужно нажать правой кнопкой мыши, выбрать «Добавить» – появится константа «Константа1».



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

Как создать константу

После того как мы создали константу и обновили конфигурацию базы данных (F7), она появится в режиме «1С:Предприятие» во вкладке «Сервис».

создать константу в 1С

Если в конфигурации 1С:Предприятие 8.3 есть подсистемы, необходимо включить константу в одну из них: дерево конфигурации → Общие → Подсистемы → НазваниеПодсистемы → Состав. Если запустить базу до внесения константы в подсистему, появится оповещение.

дерево конфигурации

Теперь создадим константы с более понятными названиями. После добавления созданных констант в подсистему пользователь может внести туда значение, которое будет использоваться.

дерево конфигурации в 1С

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

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

При создании константы автоматически создаётся и форма для неё.

Если есть необходимость, можно создать собственную форму константы. Есть даже возможность добавления нескольких констант на одну форму.

Форма констант в 1С

3. Пример использования констант

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

Пример использования констант

Для этого создадим печатную форму (нужный документ → вкладка Макеты → Конструкторы → Конструктор печати).

Пример использования констант в 1С

На появившейся форме можно выбрать другое название для команды или оставить старое – «Печать».

 название для команды в 1С

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

Область константы 1С 8.3

В конце появится форма, на которой можно указать расположение кнопки печати, установить некоторые её свойства.

Константы 1С 8.3

Далее можно настроить макет так, чтоб он выглядел нужным образом. Можно добавить какие-то поля для вывода (поля имеют заполнение «Параметр». Поля с заполнением «Текст» будут выводиться так, как написаны в макете). Нужно помнить о том, что на печать выводятся только те поля, которые внесены в области.

настроить макет в 1с

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

добавления новой области

После этого в пункте меню «Таблица» выбрать «Имена → Назначить имя».

добавления новой области в 1С

В появившейся форме указать название области. Лучше выбирать такое, чтобы оно отражало суть входящих в него реквизитов.

указать название области в 1С

После нажатия на «ОК» вокруг выбранных реквизитов появится красная граница. Перейдём к заполнению новых реквизитов. Для этого нужно открыть модуль менеджера выбранного документа (правой кнопкой мыши по документу, в появившемся списке выбрать пункт «Открыть модуль менеджера»).

Здесь находим процедуру «Печать». Её и нужно редактировать. Процедура состоит из запроса (для получения данных), получения областей, заполнения параметров и вывода областей на печать. Для того чтобы подставить значения из наших констант, сначала получим область, в которой содержатся заполняемые параметры.

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

Константы.НазваниеКонстанты.Получить

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

Константы.НазваниеКонстанты

Теперь можно запустить и проверить. Открываем в режиме 1С:Предприятие нужный документ, нажимаем «Печать». Откроется форма предварительного просмотра. Здесь можно увидеть, что печатная форма сформировалась, данные об организации были заполнены из констант.

Читайте также: