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