Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 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С, они помогут вам справиться с этой задачей.