Счета — это агрегатный тип данных для доступа к объектам данных — бухгалтерским счетам. Бухгалтерские счета используются компонентой «Бухгалтерский учет» системы 1С:Предприятие для идентификации разрезов синтетического учета наличия и движения средств. В общем виде смысл типа данных «Счет» вполне соответвует общепринятому понятию «Счет» в бухгалтерском учете. Подробно об основных свойствах типа данных «Счет» можно ознакомиться в руководстве по конфигурированию системы 1С:Предприятие.
В конфигурации системы может быть создано несколько планов счетов. План счетов является фактически видом для значения типа «Счет». Например, реквизит диалога типа «Счет» может иметь конкретный вид (относиться к конкретному плану счетов) или быть неопределенного вида — то есть принимать значение различных планов счетов.
Структура данных для объектов типа «Счет» задается в конфигураторе и является одинаковой для всех планов счетов. Счета имеют стандартные реквизиты (код, наименование и т. д.), для которых в конфигурации настраиваются только их свойства (например, длина наименования). Кроме того, для счетов в конфигурации могут быть заданы дополнительные реквизиты. Дополнительные реквизиты могут быть периодическими, то есть иметь разные значения на разные даты.
Список счетов (план счетов) может быть многоуровневым. При этом каждый объект типа «Счет» вне зависимости от реального наличия подчиненных счетов всегда является либо конкретным счетом, либо группой. Это свойство конкретного счета задается при его создании и не изменяется в дальнейшем. При этом счета-группы не могут участвовать в проводках.
Заметим, что бухгалтерские счета внесенные в конфигураторе в метаданные не могут изменять свои основные реквизиты (код, наименование, настройки аналитического, валютного и количественного учета).
Контекст работы с бухгалтерскими счетамиВ синтаксисе языка доступ к атрибутам, а также вызов методов счетов зависит от контекста выполнения программного модуля.
Если счет входит (согласно локальному контексту) в набор непосредственно Доступных модулю значений агрегатных типов данных (см. «Виды программ-йьгх модулей»), то доступ к атрибутам и вызов метода для этого счета — просто имя этого атрибута или метода с указанием необходимых параметров.
Пример:
* Модуль формы счета выполняется в контексте «Счет». Поэтому в модуп возможен непосредственный доступ к текущему счету. Например, для присваивания счету наименования запишем:
Цитата
Наименование = "Основные средства";
Значение счета может быть получено из других источников, например, как реквизит документа. В этом случае обращение к атрибутам и методам такого документа представляет собой сложное выражение, где имена реквизитов разделяются точкой.
Пример:
* Например, в структуре документа «ПриходныйОрдер» существует реквизит «КоррСчет» типа «Счет». Тогда получить наименование счета, указанного в этом реквизите, можно следующим образом
Цитата
НаименованиеСчета = Док.КоррСчет.Наименование;
В других случаях, доступ к атрибутам, вызов методов конкретного счета происходит при помощи переменной со ссылкой на объект типа «Счет». Объект создается функцией СоздатьОбъект, ссылка на который присваивается переменной. Чтобы вызвать атрибут или метод объекта, имя этого атрибута или метода (с указанием необходимых параметров) пишется через точку после имени ссылки.
При создании ссылки на объект типа «Счет» при помощи функции СоздатьОбъект в качестве типа объекта указывается слово "Счет" и может быть через точку указан вид — идентификатор плана счетов.
Полное имя типа счет записывается следующим образом:Цитата
Счет.<ВидСчета>
где <ВидСчета> — идентификатор плана счетов.
Применение ключевого слова "
Счет" (без вида счета) используется для организации доступа ко всем планам счетов.
Англоязычный синоним ключевого слова Счет —
Account.
Замечание: Следует обратить особое внимание, что переменная типа «Счет», созданная функцией СоздатьОбъект — это ссылка на список счетов, в отличие от переменных, содержащих само значение объекта (например, переменной может быть присвоено значение некоторого реквизита документа, который имеет тип «Счет»). Использование ссылки на список счетов, созданной при помощи функции СоздатьОбъект, существенно отличается от работы со значением типа «Счет». Только при работе со объектом-ссылкой на список счетов разрешено изменять позицию (найти-выбрать...) текущего счета в списке (т. е. осуществлять позиционирование по списку счетов), создавать новые, изменять и удалять существующие счета, С другой стороны, ссылка на список счетов не содержит собственно значения конкретного счета, которое можно присвоить чему-либо. Однако. его всегда можно получить, используя функцию ТекущийСчет.
Замечание. Объект, созданный при помощи функции СоздатьОбъект, изначально не определен, т. е. не содержит никакого значения. Чтобы начать с ним работать, его предварительно надо позиционировать (установить на конкретный счет) при помощи процедур НайтиСчет, ПолучитьСчет и т. п.