Константа
Константы — это прикладные объекты конфигурации. Они позволяют хранить в информационной базе данные, которые не изменяются во времени, или изменяются очень редко. Каждая константа позволяет хранить одно значение.
Например, в константе может храниться наименование предприятия, его ИНН и другая информация. В прикладном решении может быть создано произвольное количество констант:
Форма констант
Для того, чтобы пользователь мог просматривать и изменять значения констант, система может автоматически сгенерировать форму константы:
Наряду с этим разработчик имеет возможность создать собственную форму, которую система будет использовать вместо формы по умолчанию:
Константы в 1С 8.3 Предприятие
В связи с программами 1С вы наверняка слышали такое понятие, как «Константы». Константа – это данные, используемые для хранения значения в информационной базе, при этом имеющие одно и то же, неизменяемое значение, или значение, которое редко изменяется. Если значение изменено, в программе фиксируется дата его изменения и можно посмотреть, в каком периоде, какие значения были установлены. Подробнее, что такое константы и для чего они предназначены, посмотрим на примере бухгалтерской программы 1С.
Примером здесь могут стать данные нашей организации, различные даты регистрации (дата начала регистрации розничных продаж в ЕГАИС, дата версии программы и т.п.), установленные сроки (срок оплаты поставщикам, срок оплаты покупателям и т.п.), настройки и статусы программы (например, уплата НДС, применение упрощенной системы налогообложения и др.) и прочие настройки программы и справочников (установка типов цен, валюты), стоящие по умолчанию.
Ознакомиться с общим списком констант можно в разделе «Все функции». Если данный пункт меню недоступен, включить его можно в разделе «Сервис» — Параметры» — Отображать команду «Все функции».
В дереве метаданных программы мы видим раздел – «Константы».
Пролистав список, мы можем увидеть константы, используемые в программе. Пользователю они могут быть представлены в виде полей для установки даты, выбора какого-либо значения, установки галочки и д.т.
Если мы откроем нашу конфигурацию для автоматизации бухгалтерского учета на предприятии в режиме «Конфигуратор» и посмотрим структуру конфигурации, то там тоже увидим раздел «Константы» («Конфигурация» — «Открыть конфигурацию»).
Например, откроем свойства константы «Учет зарплаты и кадров во внешней программе». Тип – «Булево». Это значит, пользователю при определении значения константы будет предоставлена возможность установить галочку.
Кроме этого, значения могут быть числовые, формат, дата, строка, ссылки на выбор из различных справочников, какое-либо перечисление.
Константы в «1С:Бухгалтерия»
Рассмотрим, как выглядят некоторые константы при работе пользователя с программой «1С: Бухгалтерия 3.0». Например, константы задающие настройки учета организации будут находиться в разделе «Администрирование» — «Параметров учета».
В этом разделе задаются такие значения по умолчанию, как сроки оплаты покупателей, срок оплаты поставщикам, настройки зарплаты, настройки заполнения цены продаж и другие.
Перейдя в один из разделов (в нашем примере «Настройки зарплаты»), мы видим настройки этого раздела, которые выполняются установкой переключателя, галочки, а также ссылки на другие разделы, чтобы осуществить заполнение констант в 1С.
Перейдя в раздел «Функциональность», в пункте меню «Администрирование» мы можем также установить нужные нам значения по умолчанию.
Рассмотрим константы, устанавливаемые в карточке нашей организации. Обратите внимание, что у некоторых устанавливаемых по умолчанию значений есть кнопка «История», т.е. значения реквизитов хранятся, и мы в любой момент можем посмотреть, в какое время они были изменены и даты изменения.
Например, значение реквизита «Подписи» – «Руководитель» действует с 31.12.2016 года. И при изменении этого реквизита (константы), эти данные будут отражены в истории.
На практике случалось, что пользователь, изменяя тот или иной реквизит (константу), не обращал внимания на дату его установки, что влекло за собой некоторые проблемы. Например, при использовании значений подписей в документах – сменился кассир, руководитель или бухгалтер внесли изменения текущей датой, а при распечатке документов более раним сроком, выводятся данные предыдущего лица, хотя по факту новый человек уже работал. Т.е. при изменении тех реквизитов, у которых имеется история изменения, необходимо следить за датой ввода этих изменений.
Открыв гиперссылку в карточке организации, определяющую систему налогообложения, можно увидеть множество значений настройки, определяющих, какую систему налогообложения использует организация, и другие настройки по налогам и сборам.
Обратите внимание, что у этих реквизитов есть гиперссылка «История изменений», и точное их отражение будет влиять на правильность учета в программе.
Некоторые настройки программы можно выполнить, установив значения по умолчанию в разделе «Главное» — «Персональные настройки».
Таким образом, с помощью констант задают значения каких-либо реквизитов, которые определяют настройки нашей программы и облегчают работу пользователя. От того, правильно ли удалось установить значение константы, зависит правильность и корректность работы всей программы, поэтому, если у вас возникли трудности, обращайтесь к нашим специалистам по сопровождению программных продуктов 1С, они помогут вам справиться с этой задачей.
Константы в 1С: предназначение и примеры использования
В этой статье познакомимся с объектом конфигурации «Константа»: поговорим о предназначении констант и рассмотрим примеры использования.
Константы — это прикладные объекты конфигурации, которые предназначены для хранения в информационной базе 1С данных, которые не изменяются во времени или изменяются очень редко. Одна константа позволяет хранить только одно значение.
Например, в константе может храниться наименование организации, её УНП (ИНН), дата регистрации и другая информация. В конфигурации может быть создано произвольное количество констант:
Для того, чтобы пользователь мог просматривать и изменять значения констант, система может автоматически сгенерировать форму константы. Чтобы её открыть, нужно в режиме «1С:Предприятие» обратиться к главному меню в раздел «Все функции», далее открыть ветку «Константу» и дважды кликнуть по интересующей константе:
На практике работать с каждой константой в отдельной форме не очень удобно, поэтому существует возможность создать собственную форму, которую система будет использовать вместо формы по умолчанию, и на ней разместить все важные константы. Для этого в Конфигураторе нужно кликнуть правой кнопкой мыши по ветке «Константы» и выбрать из контекстного меню пункт «Создать форму констант»:
После чего на втором шаге отметить флагами те константы, которые будут отображаться на форме:
В результате чего будет создана общая форма. В командный интерфейс можно добавить команду для открытия этой формы:
И в результате пользователь может работать со всеми константами в одном месте, без необходимости открывать отдельную форму для каждой константы.
Как константы хранятся в базе данных
В зависимости от версии платформы 1С, константы хранятся в базе данных по-разному.
Если используется версия платформы 8.2, то все константы хранятся в базе данных в одной таблице. В этой таблице каждая колонка отвечает за одну константу:
Одновременно изменять одну и ту же строку в таблице двумя разными пользователями нельзя, это можно сделать только последовательно: сначала изменения вносит один пользователь, затем другой. Другими словами, при такой организации хранения констант, пока один пользователь изменяет какую-либо константу, другой пользователь не может ни прочитать, ни изменить значение любой другой константы. Именно поэтому в константах нужно хранить значения, которые изменяются очень редко или не изменяются совсем.
Начиная с версии 8.3 константы хранятся по-другому: каждая константа хранится в отдельной таблице с одной колонкой:
Такой способ хранения информации позволяет пользователям одновременно работать с разными константами, но одновременно изменять и читать одну и ту же константу пользователи по-прежнему не могут.
Таким образом, в данной статье мы познакомились с объектом конфигурации «Константа», рассмотрели примеры использования и работы с ними, а также разобрали как константы хранятся в базе данных.
Что такое константа в 1с
Итак в 1С есть справочники. Например, справочник товаров (номенклатуры). Там мы укажем список товаров, которыми торгует наша организация.
С помощью такого справочника мы можем организовать прайс-лист для клиентов, а также отчет о продажах для руководства.
Товары бывают разные. Например, продукты и химия. Что делать, если руководитель попросит сделать отчет – сколько денег мы заработали на продуктах, а сколько на химии?
Легко! – ответим мы. Нужно добавить справочник Видов товаров, а в справочнике Номенклатура добавить такой реквизит. Теперь когда мы вводим новый товар – нужно будет выбрать вид товара.
Однако девочки не рады такому нововведению – ведь теперь нужно им заполнять целое дополнительное поле, а у них и так много работы и они ничего не успевают. Да и вообще! – говорят они – у нас 900 наименований продуктов, и только 50 наименований химии! Даже дураку ясно, что нужно по умолчанию ставить вид товара продукты.
Отлично! – отметим мы. И… что делать?
Константы 1С – это объект 1С. В окне конфигуратора ветка Константы 1С находится вверху.
Каждая константа – это одно значение, выбранного Вами типа. Списки и таблицы можно хранить с помощью значения «ХранилищеЗначений».
В константах можно хранить значения по умолчанию. Одно такое значение в константе. Таким образом в константах можно хранить настройки программы.
В режиме Предприятие константы 1С находятся в меню Операции/Константы. В типовых конфигурациях их часто выносят в меню Сервис/Настройки программы (в толстом клиенте)
или в меню Администрирование/Настройки/Настройки параметры учета (в тонком клиенте).
Для редактирования констант открывается форма констант по умолчанию. Каждое поле на такой форме – это одна константа.
Добавить форму констант можно двумя способами:
- Нажать правой кнопкой на ветку Константы 1С и выбрать пункт меню Создать форму констант
- Добавить форму в ветку Общие/Общие формы и в мастере выбрать тип формы – Форма констант.
Посмотреть (и выбрать) форму констант можно следующим образом:
- Войти в свойства конфигурации (правой кнопкой мыши на верхней корневой ветке конфигурации, которую программисты обычно называют «Голова») и использовать свойство Основная форма констант.
Форма констант отличается тем, что основной реквизит формы имеет тип «КонстантыНабор». Это позволяет записывать константы 1С не поштучно, а сразу набором.
Кстати, реквизит формы становится «основным», если в свойствах формы он указан в свойстве Данные.
В программе на языке 1С к любой константе можно обратиться легко и просто:
Знч = Константы.НужнаяКонстанта.Получить(); //считываем
Константы.НужнаяКонстанта.Установить(Знч); //записываем
Параметры сеанса 1С
Итак задачка решена просто и с изяществом – мы создаем константу, в которой будем хранить вид товара по умолчанию.
При создании нового товара программа на языке 1С в событии ПриОткрытииФормы() будет устанавливать значение поля Вид товара в тот, который назначен в константе. Вуаля!
Теперь программа работает, но мы на этом не остановимся! Еще бы – мы же крутые программисты, мы хотим, чтобы программа не просто работала, но и работала быстро!
Где хранятся константы 1С? В базе данных, в специальной таблице. Каждый раз, когда оператор создает новый товар, клиент 1С будет ломиться на сервер и считывать значение константы 1С. А что если операторов 200 человек? Оптимально ли это?
Что же тогда делать?
И тут мы вспоминаем про параметры сеанса 1С. Это значения наподобии констант, которые заполняются в момент старта 1С в режиме Предприятие и доступны сразу на клиенте. Иначе говоря – это некий кеш на стороне клиента.
Кроме того, если в константе список мы можем хранить только в хранилище значений, то в параметр сеанса 1С мы ее уже можем распаковать, правда она будет не динамической – с типом ФиксированныйМассив.
Параметры сеанса 1С это тоже объект 1С, в окне конфигурации находится в ветке Общие/Параметры сеанса 1С.
Мало добавить параметр сеанса 1С, потому что если он не заполнен, то программа покажет ошибку.
Заполнение (установка) параметров сеанса 1С должна производиться при старте 1С в режиме Предприятие. Нажмите правой кнопкой на верхнюю ветку конфигурации (программисты называют ее «Голова») и выберите пункт меню Открыть модуль сеанса.
В модуле уже может быть функция УстановкаПараметровСеанса(). Если таковой еще нет, то выберите это события в соответствующем выпадающем списке. Вот пример установки значения параметра сеанса 1С:
ПараметрыСеанса.НужныйПараметр = Знч; //запись, один раз в самом начале
Знч = ПараметрыСеанса.НужныйПараметр; //чтение, строго после записи.
Проголосовать за этот пост: