<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>1C-Book &#187; Константы</title>
	<atom:link href="http://1c-book.ru/category/razrabotka-v-sisteme-1spredpriyatie-8-0-s-a-mitichkin-ooo-1s-pablishing-2003g/konstanty/feed/" rel="self" type="application/rss+xml" />
	<link>http://1c-book.ru</link>
	<description>1С Предприятие 8.0. Справочно-Информационная Система</description>
	<lastBuildDate>Wed, 04 Nov 2009 12:01:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Константы</title>
		<link>http://1c-book.ru/konstanty/</link>
		<comments>http://1c-book.ru/konstanty/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 20:17:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Константы]]></category>

		<guid isPermaLink="false">http://1c-book.ru/?p=88</guid>
		<description><![CDATA[Константы нужны для хранения одного значения в базе данных.   Обычно в константах хранится редко изменяемая информация, например, название   организации, фамилия руководителя, основная валюта организации, параметры   конфигурации в целом и т.д.
В Конфигураторе список констант выглядит следующим образом:

Для каждой константы нужно обязательно указать ее имя и тип   данных. Кроме [...]]]></description>
			<content:encoded><![CDATA[<p align="left">Константы нужны для хранения одного значения в базе данных.   Обычно в константах хранится редко изменяемая информация, например, название   организации, фамилия руководителя, основная валюта организации, параметры   конфигурации в целом и т.д.</p>
<p align="left">В Конфигураторе список констант выглядит следующим образом:</p>
<p align="center"><img src="http://s45.radikal.ru/i108/0910/b1/f754e59b9a26.gif" border="1" alt="" width="246" height="218" /></p>
<p align="left">Для каждой константы нужно обязательно указать ее имя и тип   данных. Кроме того, желательно указывать синоним, комментарий и перечень   подсистем, в которые она входит. Все это делается в окне свойств:</p>
<p align="center"><img src="http://s59.radikal.ru/i164/0910/ae/0d893665d2d4.gif" border="1" alt="" width="309" height="258" /></p>
<p align="left">Обратите внимание на свойство «Допустимая длина» для констант   строкового типа. Можно задать фиксированную или переменную длину константы. При   фиксированной длине константа будет хранить заданное количество символов, а   если реальное значение содержит меньше символов, то в конец строки будут   добавлены пробелы до заданной длины. При переменной длине строки в базе данных   хранится только реальное количество символов.</p>
<p align="left">В конфигурациях на платформе 1С:Предприятия 8.0 для   редактирования значений констант рекомендуется создавать отдельную экранную   форму, в которой все константы распределены по закладкам и для каждой   существует свой элемент управления с понятной надписью и подробным описанием,   как указано на следующем рисунке:</p>
<p align="center"><img src="http://i016.radikal.ru/0910/35/a9f804f9e9a8.gif" border="0" alt="" width="456" height="381" /></p>
<p align="left">Обратите внимание, что приведенная форма констант является  <em>общей формой, </em> но с таким же успехом можно было разместить поле для   доступа к константе в любой другой форме, так как в 1С:Предприятии 8.0 экранные   формы и объекты конфигурации разделены. Для данной экранной формы свойство   ТипЗначения установлено в значение КонстантыНабор и установлен флажок   «Использовать все константы».</p>
<p align="center"><img src="http://s60.radikal.ru/i168/0910/ac/df45ccb70d3b.gif" border="1" alt="" width="368" height="314" /></p>
<p align="left">Замечание. По сравнению с   предыдущей версией 7.7 в 1С:Предприятии 8.0 больше не существует системной   формы для редактирования всех констант единым списком, так как такое решение   было признано недостаточно гибким. Нельзя было распределить все константы по   группам, или, например, полностью скрыть некоторые константы от пользователя,   чтобы он даже не догадывался об их существовании. Если все же, несмотря на эти   недостатки, прежняя форма констант вас вполне устраивала, то вполне возможно   создать такую же на платформе 8.0.</p>
<p align="left">Обращение к константам из программы на встроенном языке   производится очень просто, хотя этот способ и отличается от версии 7.7:</p>
<div>
<pre><em><span style="color: #008000;">// чтение значения из константы</span></em></pre>
</div>
<div><span style="color: #008000;"> </span></p>
<pre><span style="color: #008000;">Название = Константы.НазваниеОрганизации.Получить();</span></pre>
</div>
<div><span style="color: #008000;"> </span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><em>// запись нового значения в константу</em></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"> </span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;">Константы.НазваниеОрганизации.Установить(НовоеНазвание);</span></span></pre>
</div>
<p align="left">Обратите внимание на слово Константы (а не Константа, как было в   версии 7.7). Через такую конструкцию мы обращаемся к объекту КонстантыМенеджер   (заметьте, что применяется множественное число), который позволяет затем   обратиться к менеджеру конкретной константы по ее имени.</p>
<p align="left">Если расшифровать приведенный выше пример, то станет более   понятна взаимосвязь объектов:</p>
<p align="left">
<div>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><em>//получаем объект для управления </em><span style="color: #008000;"><em>списком констант</em></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">КонстантыМенеджер = Константы;</span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><em>//получаем объект для управления </em><span style="color: #008000;"><em>одной константой</em></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">КонстантаМенеджер = КонстантыМенеджер.НазваниеОрганизации;</span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><em><span style="color: #008000;">//считываем значение константы из базы данных</span></em></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">Значение - КонстантаМенеджер.Получить();</span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><em><span style="color: #008000;">//записываем новое значение константы в базу данных</span></em></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">КонстантаМенеджер.Установить(НовоеЗначение);</span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></pre>
</div>
<p align="left">Как мы увидим дальше, такая схема распространяется на все   объекты конфигурации и необходимо ее понимать. Объекты типа КонстантыМенеджер,   СправочникиМенеджер, ДокументыМенеджер и аналогичные им предназначены для   обращения к списку менеджеров  объектов конфигурации. Свойствами этих объектов   являются другие объекты типа КонстантаМенеджер, СправочникМенеджер и   ДокументМенеджер. В свою очередь эти объекты предназначены для обращения к   менеджеру одного объекта конфигурации, например, менеджеру справочника   Номенклатура.</p>
<p align="left">Существуют свойства глобального контекста, ссылающиеся на   объекты типа КонстантыМенеджер, СправочникиМенеджер, ДокументМенеджер и т.д.,   они называются односложно: Константы, Справочники, Документы. Это позволяет   упростить написание программы и следующие примеры это демонстрируют:</p>
<p align="left">
<div>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">Назв = Константы.НазваниеОрганизации.Получить();</span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">СпрСотр = Справочники.Сотрудники;</span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">ВсеДолжности = Справочники.Должности.Выбрать();</span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">ДокНакл = Документы.РасходнаяНакладная;</span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></pre>
</div>
<p align="left">Работа с константами производится с помощью нескольких объектов,   и необходимо понимать их взаимосвязь, потому что подобная ситуация повторяется   почти с каждым объектом конфигурации.</p>
<p align="left">Ниже дано описание объектов для работы с константами:</p>
<p align="left"><strong>КонстантыМенеджер </strong></p>
<p align="left">Объект предоставляет доступ к списку констант. Через этот объект   можно перебрать все константы с помощью конструкции «Для Каждого» или получить   объект КонстантаМенеджер для управления конкретной константой. Кроме того,   данный объект позволяет создать объект КонстантыНабор для одновременного чтения   и записи сразу нескольких констант.</p>
<p align="left"><strong>КонстантаМенеджер </strong></p>
<p align="left">Менеджер константы обеспечивает доступ к конкретной константе.   Через него можно прочитать и установить ее значение с помощью методов Получить   и Установить.</p>
<p align="left"><strong>КонстантыНабор </strong></p>
<p align="left">Через этот объект можно получить доступ сразу к нескольким   константам, но необязательно всем существующим в</p>
<p align="left">конфигурации.</p>
<p align="left">Схематично взаимосвязь объектов для работы с константами можно   отобразить следующим образом:</p>
<p align="left">Работу с набором констант продемонстрируем на следующем примере:</p>
<div>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><em><span style="color: #008000;">//создаем набор из двух констант</span></em></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><em><span style="color: #008000;">//обратите внимание, что значений констант в наборе еще нет</span></em></span></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;">Набор = Константы.СоздатьНабор(<span style="color: #0000ff;">"Руководитель,ИНН");</span></span></span></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;">Набор.Прочитать();</span><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"> <em><span style="color: #008000;">//прочитать из базы сразу две константы</span></em></span></span></span></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"><em><span style="color: #008000;">//изменить значение констант в наборе (не в базе)</span></em></span></span></span></span></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"><span style="color: #008000;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"><span style="color: #008000;">Набор.Руководитель = <span style="color: #0000ff;">"Иванов И.И.";</span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;">Набор.ИНН =</span> <span style="color: #0000ff;">"1234567890";</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #008000;"><span style="color: #008000;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #008000;">Набор.Записать(); </span><em><span style="color: #008000;">//записать в базу сразу две константы</span></em></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
</div>
<p align="left">Главное, что следует запомнить, — при использовании набора все   входящие в него константы считываются и записываются вместе в одной транзакции,   т.е. операция над несколькими константами производится одновременно.</p>
<p>Константы — слишком простой объект для полного понимания    объектной модели 1С:Предприятия 8.0. Далее на примере справочников мы   рассмотрим новую объектную модель во всей ее полноте.</p>
]]></content:encoded>
			<wfw:commentRss>http://1c-book.ru/konstanty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
