Основная страница

Глава 17-1
Работа с операциями и проводками


Для отражения в бухгалтерском учете информации о движении средств в системе 1С:Предприятие используются Операции и Проводки. Эти объекты поддерживаются компонентой «Бухгалтерский учет». Настройка свойств операций и проводок производится соответвующими объектами метаданных в конфигурации. В руководстве по конфигурированию можно подробно ознакомиться с основными принципами и свойствами операций и проводок.

Контекст работы с операциями и проводками

Для манипулирования данными операций и проводок из встроенного языка 1С:Предприятия используется агрегатный объект типа «Операция». Так как проводки в системе 1С:Предприятие принадлежат операциям, то управление и операциями и проводками выполняется объектом «Операция».

Во-первых, объект «Операция» используется для формирования и анализа проводок формируемых документом. Для этого у агрегатного объекта «Документ» существует атрибут Операция типа «Операция», который обеспечивает доступ к операции данного документа.

Во-вторых, объект «Операция» непосредственно доступен в контекстах формы операции, формы журнала операции и формы журнала проводок. То есть в модулях указанных форм обращение к атрибутам и методам текущего объекта выполняется напрямую. В форме журнала операций текущим объектом является операция, на которой в данный момент стоит курсор в форме журнала. В форме журнала проводок текущим объектом является операция, которой принадлежит проводка, на которой в данный момент стоит курсор в форме журнала.

В-третьих, объект «Операция» используется для перебора существующих операций и проводок при формировании отчетов и других выборок. В этом случае объект создается при помощи вызова функции СоздатьОбъект ("Операция"). Англоязычный синоним ключевого слова ОперацияOperation.

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

Метод записи операции доступен также при проведении документа.

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

Одной из возможностей организации данных бухгалтерского учета системы 1С:Предприятие является поддержка сложных проводок. Под сложной проводкой понимается проводка, состоящая из нескольких корреспонденции (одного дебета — нескольких кредитов или наоборот). С точки зрения синтаксиса объекта «Операция» текущей проводкой может являться простая проводка или одна из корреспонденции сложной проводки. Нумерация проводок осуществляется номером проводки и номером корреспонденции.

С точки зрения чтения, все операции используются практически одинаково. Однако изменения (создание новых, запись, удаление) операций сильно отличается для операций двух типов.

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

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

Атрибуты объекта «Операция»

ДатаОперации

Дата операции.

Синтаксис:

ДатаОперации

Англоязычный синоним:

OperDate

Значение:

Значение типа «Дата».

Описание:

Атрибут ДатаОперации содержит дату бухгалтерской операции. Так как каждая бухгалтерская операция принадлежит документу (причем только одному, а операция введенная вручную также принадлежит специальному документу «Операция»), значение атрибута совпадает со значением атрибута ДатаДок документа, которому принедлежит операция. Наличие данного атрибута у оп-реации упрощает обращение к дате документа, которому принадлежит операция.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Сообщить(Опер.ДатаОперации);

Содержание

Содержание операции.

Синтаксис:

Содержание

Англоязычный синоним:

Description

Значение:

Значение типа «Строка».

Описание:

Атрибут Содержание служит для обращения к содержанию операции. Содержание операции представляет собой произвольную символьную строку. Максимальная длина содержания задается в конфигураторе при редактировании свойств объекта метаданных «Операция».

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Сообщить(Опер.Содержание);

СуммаОперации

Сумма операции.

Синтаксис:

СуммаОперации

Англоязычный синоним:

OperSum

Значение:

Значение типа «Число».

Описание:

Атрибут СуммаОперации служит для обращения к сумме операции. Сумма операции является положительным или отрицательным числом. Сумма операции предназначена лишь для иллюстрирования денежного выражения операции и не влияет на бухгалтерские итоги. Длина и точность суммы операции задается конфигураторе при редактировании свойств объекта метаданных «Операция».

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Сообщить(Опер.СуммаОперации);

<РеквизитОперации>

Возвращает или задает значение дополнительного реквизита операции.

Синтаксис:

<РеквизитОперации>

Идентификатор дополнительного реквизита операции, как он задан в конфигураторе.

Значение:

Тип значения определяется типом реквизита заданным в метаданных.

Описание:

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

Атрибут <Реквизит> позволяет обращаться к значению дополнительного реквизита операции. Для обращения к конкретному реквизиту должен быть указан его идентификатор, заданный для этого реквизита в конфигураторе.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Сообщить(Опер.ПризнакУчета);

Документ

Документ, которому принадлежит операция.

Синтаксис:

Документ

Англоязычный синоним:

Document

Значение:

Значение типа документ.

Описание:

Атрибут Документ является атрибутом «только для чтения», то есть ему нельзя присваивать никакого значения. Он служит для обращения к документу, котрому принадлежит операция. Так, как любая операция принадлежит документу (операция введенная «вручную» принадлежит документу специального вида «Операция») доступ к некоторым свойствам операции, например, номеру возможен только посредством обращения к атрибуту Документ.

Атрибут Документ предназначен только для доступа к атрибутам и реквизитам документа, которому принадлежит операция. Для получения значения типа «Документ» используется метод ТекущийДокумент.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Сообщить(Опер.Документ.НомерДок);

Сумма

Сумма выбранной проводки (корреспонденции) операции.

Синтаксис:

Сумма

Англоязычный синоним:

Sum

Значение:

Значение типа «Число».

Описание:

Атрибут Сумма служит для обращения к сумме выбранной проводки (корреспонденции) операции.

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

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Сумма " + Опер.Сумма);

КонецЦикла;

Валюта

Валюта выбранной проводки или корреспонденции операции.

Синтаксис:

Валюта

Англоязычный синоним:

Currency

Значение:

Значение типа «Справочник», вид которого определен в настройке валютного учета в конфигурации.

Описание:

Атрибут Валюта служит для обращения к валюте выбранной проводки или корреспонденции операции.

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

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДоку мент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Валюта " + Опер.Валюта + " Вал.сумма=" + Опер.ВалСумма);

КонецЦикла;

ВалСумма

Валютная сумма выбранной проводки или корреспонденции операции.

Синтаксис:

ВалСумма

Англоязычный синоним:

CurSum

Значение:

Значение типа «Число».

Описание:

Атрибут ВалСумма служит для обращения к сумме в валюте выбранной проводки или корреспонденции операции.

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

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Валюта " + Опер.Валюта + " Вал.сумма=" + Опер.ВалСумма);

КонецЦикла;

Количество

Количество выбранной проводки или корреспонденции операции.

Синтаксис:

Количество

Англоязычный синоним:

Amount

Значение:

Значение типа «Число».

Описание:

Атрибут Количество служит для обращению к количеству выбранной проводки или корреспонденции операции.

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

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Количество ="+0пер.Количество);

КонецЦикла;

<РеквизитПроводки>

Обращение к дополнительному реквизиту проводки.

Синтаксис:

<РеквизитПроводки>

Идентификатор дополнительного реквизита проводки, как он задан в конфигураторе.

Описание:

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

Атрибут <РеквизитПроводки> позволяет обращаться к значениям дополнительных реквизитов проводки. Для обращения к конкретному реквизиту должен быть указан его идентификатор, заданный для этого реквизита в конфигураторе.

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

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Количество =" + Опер.Количество);

КонецЦикла;

Дебет

Обращение к дебету проводки (корреспонденции).

Синтаксис:

Дебет

Англоязычный синоним:

Debit

Описание:

Атрибут Дебет служит для обращения к дебетовой части текущей проводки (корреспонденции) операции. Данный атрибут возвращает агрегатный объект специального типа «Дебет», который используется только для доступа к данным дебетовой части конкретной проводки (корреспонденции) операции и не используется отдельно.

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

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Проводка " + Опер.Дебет.Счет + " - " + Опер.Кредит.Счет);

КонецЦикла;

Кредит

Обращение к кредиту проводки (корреспонденции).

Синтаксис:

Кредит

Англоязычный синоним:

Credit

Описание:

Атрибут Кредит служит для обращения к кредитовой части текущей проводки (корреспонденции) операции. Данный атрибут возвращает агрегатный объект специального типа «Кредит», который используется только для доступа к данным кредитовой части конкретной проводки (корреспонденции) операции и не используется отдельно.

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

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Проводка " + Опер.Дебет.Счет + " - " + Опер.Кредит.Счет);

КонецЦикла;

Атрибуты объектов «Дебет» и «Кредит»

Счет

Счет дебета/кредита проводки (корреспонденции) операции.

Синтаксис:

Счет

Англоязычный синоним:

Account

Значение:

Значение типа «Счет».

Описание:

Атрибут Счет служит для доступа к счету дебета/кредита проводки или корреспонденции операции.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Сообщить("Проводка " + Опер.Дебет.Счет.Наименование + " - " +

                          Опер.Кредит.Счет.Наименование);

КонецЦикла;

<Субконто>

Субконто дебета/кредита проводки (корреспонденции) операции.

Синтаксис:

<Субконто>

Идентификатор вида субконто, как он задан в конфигураторе.

Описание:

Атрибут <Субконто> служит для доступа к значению субконто дебета/кредита проводки (корреспонденции) операции. В конкретном случае обращение к субконто для дебета/кредита определяется счетом дебета/кредита, то есть заданными для него видами субконто по которым ведется аналитический учет по этому счету.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Если Опер.Дебет.Счет=СчетПоКоду("60") Тогда

      Сообщить("Субконто " + Опер.Дебет.Организация);

   КонецЕсли;

КонецЦикла;

Методы объектов «Дебет» и «Кредит»

Субконто

Обращение к субконто дебета/кредита проводки (корреспонденции) операции.

Синтаксис:

Субконто(<ПорядковыйНомерСубконто> | <ВидСубконто>, <Субконто>)

Англоязычный синоним:

Subconto

Параметры:

<ПорядковыйНомерСубконто>

Необязательный параметр. Числовое выражение — порядковый номер субконто. По умолчанию 1.

<ВидСубконто>

Значение типа «Вид субконто».

<Су6конто>

Необязательный параметр. Значение субконто. Если параметр не задан — значение не изменяется.

Возвращаемое значение:

Если указан порядковый номер вида субконто или вид субконто, метод возвращает значение субконто.

Описание:

К любому счету или субсчету в плане счетов может быть «прикреплено» до 5 видов субконто. Максимальное количество видов субконто, которое можно «прикрепить» к счету, устанавливается в конфигураторе при редактировании свойств планов счетов. Количество субконто, которое реально прикреплено к счету, не превышает установленного максимального количества.

Все виды субконто, прикрепленные к счету в плане счетов, имеют порядковые номера. Эти номера выдаются в названии колонок для видов субконто в окне редактирования плана счетов; «Субконто1», «Субконто2» ... «Субконто5».

Метод Субконто дебета/кредита проводки служит для получения и установки значения субконто по его номеру или виду соотвественно в дебете или в кредите проводки (коррепспонденции) операции.

Возможность использования субконто конкретного вида или номера определяется счетом дебета/кредита проводки.

Если при использовании метода Субконто первым параметром передается порядковый номер субконто или вид субконто, то метод возвратит значение субконто, имеющего этот номер.

Если вторым параметром передается значение субконто, метод присваивает указаное значение виду субконто проводки.

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Для Инд = 1 По Опер.Дебет.Счет.КоличествоСубконто() Цикл

      Сообщить("Субконто " + Опер.Дебет.Субконто(Инд));

   КонецЦикла;

КонецЦикла;

ПредставлениеСубконто

Представление субконто дебета/кредита проводки (корреспонденции) операции.

Синтаксис:

ПредставлениеСубконто(<ПорядковыйНомерСубконто> | <ВидСубконто>, <Режим>)

Англоязычный синоним:

SubcontoPresentation

Параметры:

<ПорядковыйНомерСубконто>

Необязательный параметр. Числовое выражение — порядковый номер субконто. По умолчанию 1.

<ВидСу6конто>

Идентификатор вида субконто.

<Режим>

Необязательный параметр. Числовое выражение — признак полноты выдачи представления субконто. Может принимать значения: 0 — полное представление; 1 — краткое представление. По умолчанию 0;

Возвращаемое значение:

Символьная строка — представление субконто.

Описание:

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

Представление может быть настроено в конфигурации для видов субконто типа «Справочник» или «Документ». Формат представления определяется в конфигураторе при редактировании свойств вида субконто.

Метод ПредставлениеСубконто позволяет получить представление для субконто дебета/кредита текущей проводки (корреспонденции).

Пример:

Опер = СоздатьОбъект("Операция");

Опер.НайтиОперацию(ВыбрДокумент);

Опер.ВыбратьПроводки();

Пока Опер.ПолучитьПроводку() = 1 Цикл

   Для Инд = 1 По Опер.Дебет.Счет.КоличествоСубконто() Цикл

      Сообщить("Субконто " + Опер.Дебет.ПредставлениеСубконто(Инд));

   КонецЦикла;

КонецЦикла;






Перейти  к оглавлению: Описание встроенного языка