Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Константы

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

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

Константы в языке 1С 8.3, 8.2 (в примерах)

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

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 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С:

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

Виктория Тозик

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

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

Ознакомиться с общим списком констант можно в разделе «Все функции». Если данный пункт меню недоступен, включить его можно в разделе «Сервис» — Параметры» — Отображать команду «Все функции».



В дереве метаданных программы мы видим раздел – «Константы».


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


Если мы откроем нашу конфигурацию для автоматизации бухгалтерского учета на предприятии в режиме «Конфигуратор» и посмотрим структуру конфигурации, то там тоже увидим раздел «Константы» («Конфигурация» — «Открыть конфигурацию»).


Например, откроем свойства константы «Учет зарплаты и кадров во внешней программе». Тип – «Булево». Это значит, пользователю при определении значения константы будет предоставлена возможность установить галочку.


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


Константы в «1С:Бухгалтерия»

Рассмотрим, как выглядят некоторые константы при работе пользователя с программой «1С: Бухгалтерия 3.0». Например, константы задающие настройки учета организации будут находиться в разделе «Администрирование» — «Параметров учета».


В этом разделе задаются такие значения по умолчанию, как сроки оплаты покупателей, срок оплаты поставщикам, настройки зарплаты, настройки заполнения цены продаж и другие.


Перейдя в один из разделов (в нашем примере «Настройки зарплаты»), мы видим настройки этого раздела, которые выполняются установкой переключателя, галочки, а также ссылки на другие разделы, чтобы осуществить заполнение констант в 1С.


Перейдя в раздел «Функциональность», в пункте меню «Администрирование» мы можем также установить нужные нам значения по умолчанию.


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


Например, значение реквизита «Подписи» – «Руководитель» действует с 31.12.2016 года. И при изменении этого реквизита (константы), эти данные будут отражены в истории.


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

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



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

Некоторые настройки программы можно выполнить, установив значения по умолчанию в разделе «Главное» — «Персональные настройки».


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