d9e5a92d

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

Для отражения в бухгалтерском учете информации о движении средств в системе 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 По Опер.Дебет.Счет.КоличествоСубконто() Цикл

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

   КонецЦикла;

КонецЦикла;

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

ВыбратьОперации

Открывает выборку операций за период.

Синтаксис:

ВыбратьОперации(НачалоПериода, КонецПериода)

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

SelectOpers

Параметры:

НачалоПериода Необязательный параметр. Выражение типа дата, документ или позиция документа, с которого уста­навливается начало выборки операций.
КонецПериода Необязательный параметр. Выражение типа дата, документ или позиция документа, на котором уста­навливается конец выборки операций.
Возвращаемое значение:

Число: 1 — действие выполнено и в выборке есть хотя бы одна операция;

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

Описание:

Метод ВыбратьОперации открывает выборку, содержащую операции за указанный период.

Пример:

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

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

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

КонецЦикла;

ВыбратьОперацииСПроводками

Открывает выборку оперций с проводками за указанный период.

Синтаксис 1:

ВыбратьОперацииСПроводками(НачалоПериода, КонецПериода, Фильтр, Валюта,

                           ПланСчетов, РазделительУчета)

Синтаксис 2:

ВыбратьОперацииСПроводками(НачалоПериода, КонецПериода, Счет, КорСчет,

                           Флаг, Валюта, ПланСчетов, РазделительУчета)

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

SelectOpersAndEntries

Параметры:

НачалоПериода Необязательный параметр. Выражение типа дата, документ или позиция документа, с которого ус­танавливается начало выборки операций.
КонецПериода Необязательный параметр. Выражение типа дата, документ или позиция документа, на котором устанавливается конец выборки операций.
Фильтр Необязательный параметр. Строка — условие от­бора проводок.
ПланСчетов Необязательный параметр. Значение типа «План Счетов». Если параметр не указан — по всем пла­нам счетов.
РазделительУчета Необязательный параметр. Значение разделителя учета. Если параметр не указан — по всем значе­ниям разделителя учета.
Счет Необязательный параметр. Счет — счет, по кото­рому будут отбираться проводки.
КорСчет Необязательный параметр. Счет — корреспонди­рующий счет, по которому будут отбираться про­водки. Параметр имеет смысл, если указан пара­метр Счет.
Флаг Необязательный параметр. Число — признак вида оборота. Параметр может принимать значения:

1 — отбирать проводки только по дебету счета;

2 — отбирать проводки только по кредиту счета;

3 — отбирать проводки и по дебету, и по кредиту.

По умолчанию 3.
Валюта Необязательный параметр. Значание типа «спра­вочник» (вида справочника используемого для валютного учета) — признак отбора проводок по валюте.
Возвращаемое значение:

Число: 1 — действие выполнено и в выборке есть хотя бы одна проводка;

0 — действие не выполнено или в выборке нет ни одной проводки.

Описание:

Метод ВыбратьОперацииСПроводками служит для выбора проводок опе­раций за период. Параметрами могут являеться различные условия отбора про­водок.

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

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

В параметре Фильтр задаются критерии отбора проводок для включения в выборку. Если параметр не заполнен, в выборку включаются все проводки. В общем случае в параметре Фильтр могут находиться одна или несколько корреспонденции счетов или символьных строк, разделяемых точкой с запятой «;». Символьные строки представляют собой наборы символов, заключенные в кавычки (при передаче строки в явном виде в параметре внутри строки двой­ные кавычки задаются двумя символами двойных кавычек). Корреспонденции имеют вид:

n — проводки со счетом n;

n, m — проводки в дебет счета n с кредита счета m.

Здесь в качестве n и m может указываться звездочка («*»), она обозначает любой счет. Например, *,51 — все проводки с кредита 51 счета.

В выборку включаются все проводки, удовлетворяющие следующим усло­виям:

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

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

Примеры:

50 — все проводки со счетом 50;
50, * — все проводки в дебет 50 счета;
* , 51 — все проводки с кредита 51 счета;
50, 51 — все проводки в дебет 50 счета с кредита 51;
51; 52 — все проводки со счетом 51 или счетом 52;
46, 68.2 — все проводки в дебет 46 счета с кредита 68.2;
бумага — все проводки, содержащие в содержании операции или в суб­конто или в реквизитах слово «бумага»;
бумага; картон — все проводки, содержащие в содержании операции или в субконто или в реквизитах слово «бумага» или слово «картон»;
*, 46; бумага — все проводки по кредиту 46 счета, содержащие в содер­жании операции или в субконто или в реквизитах слово «бумага»;
Кроме того, в обоих вариантах задаются дополнительные условия: валюта, план счетов, разделитель учета.

Параметр Валюта является значением типа «Справочник» вида, опреде­ленного при настройке валютного учета в метаданных. Если параметр указан, в отбор будут включены проводки только по указанной валюте. При этом пустое значение типа «Справочник» соответствующего вида считается указанием отбора по пустой валюте. Для того, чтобы отбор по валюте не производился нужно либо опустить данный параметр, либо передать туда значение иного ти­па,  например,  пустую сроку.

Параметр ПланСчетов является значением типа «План Счетов». Если параметр указан, в отбор будут включены проводки только по указанному пла­ну счетов.

Параметр РазделительУчета является значением объекта метаданных, выбранного в качестве разделителя учета.

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

Параметры Счет и КорСчет задают условние отбора проводок по сче­там.

Если указан параметр Счет, будут отбраны проводки только по указан­ному счету. Дополнительным условие отбора является значением параметра Флаг.

Если указаны параметр Счет и КорСчет, будут отобораны проводки только по указанной креспонденции счетов.

Пример:

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

Опер.ВыбратьОперацииСПроводками(ДатаНач, ДатаКон, 50, 51; По Чеку );

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

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

КонецЦикла;

ИспользоватьСубконто

Задает фильтр по субконто для функции ВыбратьОперацииСПроводками.

Синтаксис:

ИспользоватьСубконто(ВидСубконто, Субконто)

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

UseSubconto

Параметры:

ВидСубконто Значение типа «ВидСубконто» — отбор проводок будет выполнен только для субконто указанного вида.
Субконто Значение субконто — отбор проводок будет вы­полнен только для указанного субконто. Кроме того, в качестве значения данного параметра можно передавать «Список значений».
Описание:

Метод ИспользоватьСубконто устанавливает фильтр по субконто, кото­рый используется при отборе проводок методом ВыбратьОперацииСПроводками.

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

Пример:

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

Опер.ИспользоватьСубконто(ВидыСубконто.Организации, ВыбОрг);

Опер.ВыбратьОперацииСПроводками(ДатаНач, ДатаКон, 60);

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

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

КонецЦикла;

ИспользоватьКорСубконто

Задает фильтр по корреспондирующим субконто для функции

ВыбратьОперацииСПроводками.

Синтаксис:

ИспользоватьКорСубконто(ВидСубконто, Субконто)

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

UseCorSubconto

Параметры:

ВидСубконто Значение типа «ВидСубконто» — отбор проводок будет выполнен только для корреспондирующих субконто указанного вида.
Субконто Значение субконто — отбор проводок будет вы­полнен только для указанного корреспондирую­щего субконто. Кроме того, в качестве значения данного параметра можно передавать «Список значений».
Описание:

Метод ИспользоватьКорСубконто устанавливает фильтр по корреспон­дирующим субконто, который используется при отборе проводок методом ВыбратьОперацииСПроводками.

Метод ИспользоватьКорСубконто может вызываться последовательно несколько раз. В этом случае фильтры, устанавливаемые этой функцией, сум­мируются.

Пример:

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

Опер.ИспользоватьСубконто(ВидыСубконто.Организации, ВыбОрг);

Опер.ИспользоватьКорСубконто(ВидыСубконто.Товары, ВыбТовар);

Опер.ВыбратьОперацииСПроводками(ДатаНач, ДатаКон, 60);

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

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

КонецЦикла;

ВыбратьПоЗначению

Открывает выборку операций или проводок, отобранных по значе­нию отбора.

Синтаксис:

ВыбратьПоЗначению(НачалоПериода, КонецПериода , ВидОтбора, 3начение0тбора)

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

SelectByValue

Параметры:

НачалоПериода Необязательный параметр. Выражение типа дата, документ или позиция документа, с которого уста­навливается начало выборки операций.
КонецПериода Необязательный параметр. Выражение типа дата, документ или позиция документа, на котором уста­навливается конец выборки операций.
ВидОтбора Необязательный параметр. Символьная строка — название вида отбора (см. ниже).
3начение0тбора Необязательный параметр. Значение отбора вида, указанного в параметре ВидОтбора.
Возвращаемое значение:

Число: 1 — действие выполнено и в выборке есть хотя бы одна операция или проводка; 0 — действие не выполнено или в выборке нет ни одной опера­ции или проводки.

Описание:

Метод ВыбратьПоЗначению открывает выборку, содержащую операции или проводки за указанный период.

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

Параметр ВидОтбора должен содержать название вида отборав виде символьной строки.

Параметр ВидОтбора для отбора операций может принимать следующие значения (в скобках указан английский синоним):

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

(OperSum)
Отбор по сумме операции. Доступно если в метаданных включен отбор по сумме опера­ции.
Содержание

(Description)
Отбор по содержанию операции. Доступно если в метаданных включен отбор по содер­жанию операции.
РеквизитОперации Отбор по дополнительному реквизиту операции. Идентификатор реквизита должен быть указан так, как это задано в метаданных. Доступно если в метаданных включен отбор по реквизиту операции.
Параметр ВидОтбора для отбора проводок может принимать следующие значения (в скобках указан английский синоним):

Счет (Account) Отбор по счету дебета или счету кредита проводки. Доступно если в метаданных вклю­чен отбор по счетам проводок.
СчетДт (AccountDt) Отбор по счету дебета проводки. Доступно если в метаданных включен отбор по дебе­ту/кредиту счетов проводок.
СчетКт (AccountKt) Отбор по счету кредита проводки. Доступно если в метаданных включен отбор по дебе­ту/кредиту счетов проводок.
Валюта (Currency) Отбор по валюте проводки. Доступно если в метаданных включен отбор по валюте прово­док.
ВидСубконто Отбор по виду субконто. Идентификатор вида субконто должен быть указан так, как он задан в метаданных. Доступно если в метаданных включен отбор по этому виду субконто.
РеквизитПроводки Отбор по дополнительному реквизиту проводки. Идентификатор реквизита должен быть указан так, как он задан в метаданных. Доступно если в метаданных включен отбор по этому реквизиту проводки.
Параметр 3начениеОтбора задает значение отбора.

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

Пример:

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

Опер.ВыбратьПоЗначению(ДатаНач, ДатаКон, Счет, СчетПоКоду(60));

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

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

КонецЦикла;

ПолучитьОперацию

Извлекает операции из выборки, открытой при помощи метода

ВыбратьОперции.

Синтаксис:

ПолучитьОперацию()

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

GetOper

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

Число: 1 — операция выбрана успешно; 0 — операция не выбрана (отсутст­вует).

Описание:

Метод ПолучитьОперацию выбирает очередную операцию из выборки, от­крытой при помощи метода ВыбратьОперации.

Метод ПолучитьОперацию используется для организации цикла по опера­циям. Условием цикла может служить равенство 1 возвращаемого значения метода: цикл выполняется, пока метод ПолучитьОперацию возвращает 1.

Метод возвращает 0, когда очередная операция не выбрана. Это происходит, если при предыдущем применении метода была выбрана последняя операция выборки.

Пример:

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

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

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

КонецЦикла;

НайтиОперацию

Позиционирует объект по значению типа «Документ».

Синтаксис:

НайтиОперацию([Документ])

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

FindOper

Параметры:

Документ Значение типа «Документ».
Возвращаемое значение:

Число: 1 — действие выполнено, операция найдена; 0 — действие не выпол­нено, операция не найдена.

Описание:

Метод НайтиОперацию осуществляет поиск операции по значению типа «Документ».

В системе 1С:Предприятие каждая операция принадлежит документу. При­чем операция принадлажит только одному документу, а у документа может существовать только одна операция. Операции введенные вручную принадле­жат документам специального вида «Операция».

Поэтому не существует возможности передачи такого значения как «Опера­ция». Для «идентификации» операции фактически используется значение до­кумента, которому она принадлежит. Поэтому для позиционировании объекта «Операция» непосредственно на конкретную операцию используется значение типа «Документ».

Пример:

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

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

Выбрана

Определяет выбрана ли в данный момент операция.

Синтаксис:

Выбрана()

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

Selected

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

Число: 1 — операция выбрана; 0 — операция не выбрана.

Описание:

При использовании объекта «Операция» созданного функцией СоздатьОбъект метод Выбрана определяет спозиционирован ли объект в на­стоящий момент на некоторой операции или нет.

При использовании данного метода к атрибуту документа Операция (ко­торый имеет тип «Операция») он определяет, существует ли реально операция у документа или нет.

При использовании в форме журнала операций (проводок) метод определя­ет спозиционирован ли курсор.

При использовании в форме операции метод определяет, записана новая операция или нет.

Пример:

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

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

Если Опер.Выбрана() = 0 Тогда

   Сообщить(Операция не найдена);

КонецЕсли;

УстановитьАтрибут

Установить значение реквизита по имени идентификатора.

Синтаксис:

УстановитьАтрибут(ИмяРеквизита, 3начение)

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

SebAttrib

Параметры:

ИмяРеквизита Строковое выражение, содержащее имя реквизи­та, как оно задано в конфигураторе.
3начение Выражение, содержащее устанавливаемое значе­ние реквизита.
Описание:

Метод УстановитьАтрибут позволяет установить значение реквизита по имени идентификатора, как оно задано в конфигураторе.

Пример:

Опер.УстановитьАтрибут(ЦенаРозн, ЦенаТов);

ПолучитьАтрибут

Получить значение реквизита по имени идентификатора.

Синтаксис:

ПолучитьАтрибут(ИмяРеквизита)

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

GetAttrib

Параметры:

ИмяРеквизита Строковое выражение, содержащее имя реквизи­та, как оно задано в конфигураторе.
Возвращаемое значение:

Значение реквизита ИмяРеквизита.

Описание:

Метод ПолучитьАтрибут позволяет получить значение реквизита по име­ни идентификатора, как оно задано в конфигураторе.

Пример:

ЦенаТов = Опер.ПолучитьАтрибут(ЦенаРозн);

ВыбратьПроводки

Открывает выборку проводок текущей операции.

Синтаксис:

ВыбратьПроводки()

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

Select Entries

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

Число: 1 — действие выполнено и в выборке есть хотя бы одна проводка;

0 —действие не выполнено или в выборке нет ни одной проводки.

Описание:

Метод ВыбратьПроводки открывает выборку проводок текущей операции. Данный метод предназначен для организации перебора проводок операции и используется вмесет с методом ПолучитьПроводку.

Пример:

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

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

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

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

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

КонецЦикла;

ПолучитьПроводку

Получить проводку из выборки, открытой методом

ВыбратьПроводки.

Синтаксис:

ПолучитьПроводку()

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

GetEntry

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

Число: 1 — следующая проводка выбрана успешно; 0 — следующая проводка не выбрана (отсутствует).

Описание:

Метод ПолучитьПроводку выбирает очередную проводку из выборки, со­держащей проводки текущей операции. Перед применением метода ПолучитьПроводку выборка должна быть открыта при помощи метода ВыбратьПроводки.

Метод ПолучитьПроводку используется для организации цикла по про­водкам текущей операции. Условием цикла может служить равенство 1 воз­вращаемого значения метода: цикл выполняется, пока метод ПолучитьПроводку возвращает 1.

Метод возвращает 0, когда очередная проводка не выбрана. Это происходит, если при предыдущем применении метода была выбрана последняя проводка выборки.

Пример:

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

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

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

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

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

КонецЦикла;

ПроводкаВыбрана

Определяет выбрана ли проводка операции.

Синтаксис:

ПроводкаВыбрана()

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

EntrySelected

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

Число: 1 — проводка выбрана; 0 — проводка не выбрана.

Описание:

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

Пример:

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

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

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

Опер.ПолучитьПроводку();

Если Опер.ПроводкаВыбрана() = 0 Тогда

   Сообщить(Нет проводок в операции);

КонецЕсли;

КоличествоПроводок

Оперделяет количество проводок в операции включая и проводки и корреспонденции.

Синтаксис:

КоличествоПроводок()

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

EntriesCount

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

Целое число — количество проводок в текущей операции.

Описание:

Метод позволяет опеределить полное количество проводок и корреспонден­ции в операции.

Пример:

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

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

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

   Опер.ПолучитьПроводкуПоНомеру(Инд);

КонецЦикла;

ПолучитьПроводкуПоНомеру

Выбрать в качестве текущей проводку по ее номеру и номеру коррес­понденции.

Синтаксис 1:

ПолучитьПроводкуПоНомеру(АбсолютныиНомерПроводки)

Синтаксис 2:

ПолучитьПроводкуПоНомеру(НомерПроводки, НомерКорреспонденции)

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

GetEntryByNumber

Параметры:

АбсолютныйНомерПроводки Необязатальный параметр. Число — абсо­лютный номер проводки в операции (вклю­чая проводки и корреспонденции). Если не задан –1.
НомерПроводки Необязатальный параметр. Число — номер проводки в операции.
НомерКорреспонденции Необязатальный параметр. Число — номер корреспонденции в проводке. Параметр име­ет смысл, если указан параметр НомерПроводки.
Возвращаемое значение:

Число: 0 — проводка не найдена; 1 — проводка найдена.

Описание:

Метод ПолучитьПроводкуПоНомеру выбирает в качестве текущей про­водку или корреспонденцию проводки.

Если передан один параметр, то он воспринимается, как абсолютный номер проводки (корреспонденции) в операции среди всех проводок и корреспонден­ции. Если передано два параметра, то первый из них — это номер проводки, а второй — номер корреспонденции в проводке.

Пример:

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

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

Опер.ПолучитьПроводкуПоНомеру(3, 2);

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

   Опер.ПолучитьПроводкуПоНомеру(Инд);

КонецЦикла;

Пров

Обращение к данным проводки по номеру.

Синтаксис:

Пров(НомерПроводки, НомерКорреспонденции)

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

Entry

Параметры:

НомерПроводки Необязатальный параметр. Число — номер проводки в операции. Если параметр не за­дан, то используется текущая проводка.
НомерКорреспонденции Необязатальный параметр. Число — номер корреспонденции в проводке. Параметр име­ет смысл, если указан параметр НомерКорреспонденции.
Возвращаемое значение:

Ссылка на указанную проводку.

Описание:

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

Метод Пров позволяет обратится к атрибутам проводки Сумма, СуммаВал, Количество, Валюта, Дебет, Кредит, Реквизит.

Пример:

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

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

Сообщить(Пров(2, 3).Дебет.Счет);

НомерПроводки

Определяет номер текущей проводки.

Синтаксис:

НомерПроводки()

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

EntryNumber

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

Число — номер проводки.

Описание:

Для текущей проводки (корреспонденции) возвращает ее номер (не абсо­лютный, а именно номер проводки без учета корреспонденции).

Пример:

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

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

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

   Опер.ПолучитьПроводкуПоНомеру(Инд);

   Сообщить(Проводка + Опер.НомерПроводки() +

            Корр. + Опер.НомерКорреспонденции());

КонецЦикла;

ПланСчетов

Выдает план счетов текущей проводки.

Синтаксис:

ПланСчетов()

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

ChartOfAccounts

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

Значение типа «План Счетов».

Описание:

Для текущей проводки возвращает ее план счетов.

Пример:

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

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

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

   Опер.ПолучитьПроводкуПоНомеру(Инд);

   Сообщить(Проводка + Опер.НомерПроводки() + Корр. +

            Опер.НомерКорреспонденции() + Пл.сч. + Опер.ПланСчетов());

КонецЦикла;

НомерКорреспонденции

Определяет номер текущей корреспонденции в операции.

Синтаксис:

НомерКорреспонденции()

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

CorrespondenceNumber

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

Число — номер текущей корреспонденции в проводке.

Описание:

Для текущей проводки (корреспонденции) возвращает ее номер корреспон­денции, если проводка не сложная — 1.

Пример:

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

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

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

   Опер.ПолучитьПроводкуПоНомеру(Инд);

   Сообщить(Проводка + Опер.НомерПроводки() +

            Корр. + Опер.НомерКорреспонденции());

КонецЦикла;

СложнаяПроводка

Определяет является ли текущая проводка сложной.

Синтаксис:

СложнаяПроводка()

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

ComplexEntry

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

Число: 1 — текущая проводка является сложной; 0 — текущая проводка не является сложной.

Описание:

Для текущей проводки (корреспонденции) определяется является ли она сложной. Под сложной проводкой понимается проводка, состоящая из несколь­ких корреспонденции.

Пример:

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

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

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

   Опер.ПолучитьПроводкуПоНомеру(Инд);

   Если Опер.СложнаяПроводка() = 1 Тогда

      Сообщить(Проводка сложная);

   КонецЕсли;

КонецЦикла;

НомерСтрокиДокумента

Выдает номер строки документа, по которой сформирована текущая проводка.

Синтаксис:

НомерСтрокиДокумента()

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

DocLineNum

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

Число — номер строки документа, сформировавшей данную проводку.

Описание:

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

Метод НомерСтрокиДокумента выдает для текущей проводки номер стро­ки документа, который был привязан в момент добавления проводки.

Пример:

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

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

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

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

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

КонецЦикла;

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

Получить представление для текущей проводки.

Синтаксис:

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

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

Entry Presentation

Параметры:

ПоСубконто Необязательный параметр. Флаг включения в пред­ставление проводки представления субконто провод­ки. Число:

0 — не включать представление субконто;

1 — включать представление субконто;

2 — включать развернутое представление субконто. Значение по умолчанию: 0.

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

Строка — представление для текущей проводки.

Описание:

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

Метод ПредставлениеПроводки позволяет получить представление для текущей проводки.

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

Пример:

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

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

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

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

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

КонецЦикла;

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

Получить представление для субконто текущей проводки.

Синтаксис:

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

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

SubcontoPresentation

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

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

Описание:

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

Представление может быть задано в конфигураторе при редактировании свойств вида субконто.

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

Пример:

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

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

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

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

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

КонецЦикла;

НазначитьТип

Назначить тип для реквизита неопределенного вида.

Синтаксис:

НазначитьТип(ИмяРеквизита, ИмяТипа, Длина, Точность)

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

SetType

Параметры:

ИмяРеквизита Строковое выражение — название реквизита опера­ции или проводки неопределенного типа, как он на­зван в конфигураторе.
ИмяТипа Строковое выражение — название типа данных (или Вид субконто), который назначается реквизиту опе­рации или проводки. Например:

Строка, Число, Справочник.Товары, Документ.РасходнаяНакладная ит.п.
Длина Необязательный параметр. Числовое выражение — длина поля представления данных. Имеет смысл только при задании числового или строкового типа.
Точность Необязательный параметр. Числовое выражение — число знаков числа после десятичной точки. Имеет смысл только при задании числового типа.
Описание:

Метод НазначитьТип позволяет назначить тип для реквизита, которому в конфигураторе назначен тип «Неопределенный».

Пример:

Операция.НазначитьТип(ТМЦ, Справочник.Товары);

Новая

Создать новую операцию.

Синтаксис:

Новая()

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

New

Описание:

Метод Новая используется для создания операций из встроенного языка, не принадлежащих документу какого либо вида.

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

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

После вызова метода Новая могут быть заданы значения реквизитов операции и добавлены проводки. После этого для записи операции должен быть вызван метод Записать.

Пример:

* Создание и запись новой операции созданной в модуле отчета или обработки

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

Опер.Новая();

Опер.Дата = РабочаяДата();

Опер.Содержание = Выдача денег из кассы;

Опер.Записать();

ЗаписатьПроводки

Записать в информационную базу уже добавленные и заполненные проводки операции.

Синтаксис:

ЗаписатьПроводки()

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

WriteEntries

Описание:

Метод ЗаписатьПроводки выполняет запись в информационную базу уже добавленных и заполненных проводок операции. Метод может использоваться только для атрибута «Операция» документа в момент проведения (в процедуре ОбработкаПроведения). При этом происходит обновление бухгалтерских итогов. Это позволяет при проведении документа обращаться к бухгалтерским итогам уже измененным проводками, записанными этим документом. После выполнения метода ЗаписатьПроводки и до окончания процедуры ОбработкаПроведение уже невозможно изменять или удалять проводки, до­бавленные до вызова этого метода.

Данный метод имеет смысл использовать, только в том случае, если сущест­вует необходимость обращения к итогам, измененным проводками записывае­мой операции.

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

Пример:

Процедура СписаниеСчетаНаСч20(Счт)

   // создаем и формируем проводки

КонецПроцедуры



Процедура СписаниеСчета20На40()

   // создаем и формируем проводки

КонецПроцедуры



Процедура ОбработкаПроведения()

   Сч20 = СчетПоКоду(20);

   Cч40 = CчeтПoKoдy(40);

   СписаниеСчетаНаСч20(СчетПоКоду(25));

   СписаниеСчетаНаСч20(СчетПоКоду(26));

   Операция.ЗаписатьПроводки();

   СписаниеСчета20На40();

   Операция.Содержание = Закрытие фин. результатов за +

                         Формат(ДатаДок, Д ММММГГГГ);

   Операция.Записать();

КонецПроцедуры

Записать

Записать измененную или новую операцию.

Синтаксис:

Записать()

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

Write

Описание:

Метод Записать выполняет запись новой или измененной операции.

Он может быть использован в следующих ситуациях:

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

· метод Записать может быть вызван для записи операции созданной при проведении документа в предопределенной процедуре ОбработкаПроведения. Данный метод должен быть вызван после за­полнения операции содержанием реквизитов и проводками.

· этот метод может применяться в Модуле формы операции непосредст­венно к операции локального контекста, в этом случае данный метод отрабатывает те же действия, как интерактивное нажатие пользователем кнопки с формулой #3аписать.

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

Пример:

* Создание и запись новой операции созданной в модуле отчета или обработки.

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

Опер.Новая();

Опер.Дата = РабочаяДата();

Опер.Содержание = Деньги по чеку;

Опер.НоваяПроводка();

Опер.Дебет.Счет = СчетПоКоду(50);

Опер.Кредит.Счет = СчетПоКоду(51);

Опер.Сумма = 1000000;

Опер.Записать();

* Запись операции в модуле документа в процессе проведения

Процедура ОбработкаПроведения()

   Операция.Содержание = Выдача денег из кассы;

   Операция.НоваяПроводка();

   Операция.Дебет.Счет = СчетПоКоду(71);

   Операция.Дебет.Сотрудники = Сотрудник;

   Операция.Кредит.Счет = СчетПоКоду(50);

   Операция.Сумма = СуммаВыдачи;

   Операция.Записать();

КонецПроцедуры

Удалить

Удаление операции.

Синтаксис:

Удалить(Режим)

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

Delete

Параметры:

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

Описание:

Метод Удалить удаляет (или помечает на удаление) текущую операцию.

Замечание. Непосредственное удаление объекта следует применять только в особых случаях, так как могут существовать ссылки на удаляемое значе­ние в документах, справочниках и т. д. и непосредственное удаление может повлечет нарушение ссылочной целостности.

Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.

Если метод Удалить применен к операции принадлежащей документу не специального вида «Операция», то происходит удаление (или пометка) всего документа.

Пример:

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

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

Опер.Удалить(0);

ПометкаУдаления

Проверяет наличие пометки на удаление текущей операции.

Синтаксис:

ПометкаУдаления()

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

DeleteMark

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

Число: 1 — операция помечена на удаление; 0 — операция не помечена на удаление.

Описание:

Метод используется для проверки, помечена ли на удаление текущая опера­ция или документ, которому принадлежит операция.

Пример:

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

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

   Если Опер.ПометкаУдаления() = 1 Тогда

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

   КонецЕсли;

КонецЦикла;

СнятьПометкуУдаления

Снять пометку удаления операции.

Синтаксис:

СнятьПометкуУдаления()

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

ClearDeleteMark

Описание:

Метод СнятьПометкуУдаления снимает пометку удаления текущей опе­рации.

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

Пример:

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

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

   Если Опер.ПометкаУдаления() = 1 Тогда

      Опер.СнятьПометкуУдаления();

   КонецЕсли;

КонецЦикла;

ПолучитьВремя

Возвращает время текущей операции.

Синтаксис:

ПолучитьВремя(Часы, Минуты, Секунды)

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

GetTime

Параметры:

Часы Необязательный параметр. Идентификатор пере­менной, в которую метод возвращает число — час времени операции.
Минуты Необязательный параметр. Идентификатор пере­менной, в которую метод возвращает число — ми­нуты времени операции.
Секунды Необязательный параметр. Идентификатор пере­менной, в которую метод возвращает число — се­кунды времени операции.
Возвращаемое значение:

Строковое значение времени в виде ЧЧ.ММ.СС.

Описание:

Метод ПолучитьВремя возвращает время операции. Время записывается в переменные, передаваемые как параметры при вызове метода.

Пример:

Перем Час;

Перем Минута;

Перем Секунда;

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

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

   Опер.ПолучитьВремя(Час, Минута, Секунда);

КонецЦикла;

УстановитьВремя

Задает время текущей операции.

Синтаксис:

УстановитьВремя(Часы, Минуты, Секунды)

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

SetTime

Пареметры:

Часы Необязательный параметр. Число — час операции.
Минуты Необязательный параметр. Число — минуты опе­рации.
Секунды Необязательный параметр. Число — секунды опе­рации.
Описание:

Метод УстановитьВремя изменяет время операции.

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

Пример:

Перем Час;

Перем Минута;

Перем Секунда;

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

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

   Опер.ПолучитьВремя(Час, Минута, Секунда);

   Опер.УстановитьВремя(Час + 1, Минута, Секунда);

КонецЦикла;

ПолучитьДокумент

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

Синтаксис:

ПолучитьДокумент()

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

GetDocument

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

Значение типа «Документ».

Описание:

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

Пример:

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

Док = СоздатьОбъект(Документ);

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

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

   Док.НайтиДокумент(Опер.ПолучитьДокумент());

КонецЦикла;

ВключитьПроводки

Включает/выключает проводки операции.

Синтаксис:

ВключитьПроводки(Флаг)

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

EntriesOn

Пареметры:

Флаг Необязательный параметр. 1 — включить провод­ки операции. 0 — выключить проводки операции. Если параметр не передан — состояние не изменя­ется.
Возвращаемое значение:

Состояние на момент вызова метода. 1 — проводки операции включены; 0 — проводки операции выключениы.

Описание:

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

Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект. Изменяется состояние всех выбранной проводок операции одноврменно.

Пример:

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

Опер.ВыбратьОперации(ДатаНач, ДатаКон);

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

   Опер.ВключитьПроводки(0);

КонецЦикла;

НоваяПроводка

Создать новую проводку.

Синтаксис:

НоваяПроводка()

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

NewEntry

Описание:

Метод создает новую проводку для текущей операции. Новая проводка ста­новится текущей.

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

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

Созданная проводка будет записана и повлечет изменения в бухгалтерских итогах после вызова метода операции Записать.

Пример:

* Создание и запись новой операции созданной в модуле отчета или обработки

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

Опер.Новая();

Опер.Дата = РабочаяДата();

Опер.Содержание = Деньги по чеку;

Опер.НоваяПроводка();

Опер.Дебет.Счет = СчетПоКоду(5 0);

Опер.Кредит.Счет = СчетПоКоду(51);

Опер.Сумма = 1000000;

Опер.Записать();

* Запись операции в модуле документа в процессе проведения

Процедура ОбработкаПроведения()

   Операция.Содержание = Выдача денег из кассы;

   Операция.НоваяПроводка();

   Операция.Дебет.Счет = СчетПоКоду(71);

   Операция.Дебет.Сотрудники = Сотрудник;

   Операция.Кредит.Счет = СчетПоКоду(50);

   Операция.Сумма = СуммаВыдачи;

   Операция.Записать();

КонецПроцедуры

НоваяКорреспонденция

Создает новую корреспонденцию проводки.

Синтаксис:

НоваяКорреспонденция()

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

NewCorrespondence

Описание:

Метод НоваяКорреспонденция создает новую корреспонденцию для про­водки. Метод должен использоваться после того, как новая проводка создана с использованием метода НоваяПроводка.

Данный метод предназначен для формирования сложных проводок, состоя­щих из нескольких корреспонденции.

Для проводки может быть создано практически неограниченное число кор­респонденции путем последовательного вызова метода НоваяКорреспонденция. После создания корреспонденции изменение атри­бутов проводки вызывает изменение атрибутов новой корреспонденции.

Пример:

Процедура ОбработкаПроведения()

   Операция.Содержание = Выдача денег из кассы;

   Операция.НоваяПроводка();

   Операция.Кредит.Счет = СчетПоКоду(50);

   Операция.Сумма = Итог(СуммаВыдачи);

   ВыбратьСтроки();

   Пока ПолучитьСтроку() = 1 Цикл

      Операция.НоваяКорреспонденция();

      Операция.Дебет.Счет = СчетПоКоду(71);

      Операция.Дебет.Сотрудники = Сотрудник;

      Операция.Сумма = СуммаВыдачи;

   КонецЦикла;

   Операция.Записать();

КонецПроцедуры

ПроверитьПроводку

Проверить проводку на соответствие корректным проводкам.

Синтаксис:

ПроверитьПроводку()

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

CheckEntry

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

Число: 1 — проводка соответствует корректным проводкам; 0 — не соответ­ствует.

Описание:

Метод ПроверитьПроводку проверяет проводку на соответствие коррект­ным проводкам.

Пример:

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

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

Пока Опер.КоличествоПроводок() 0 Цикл

   Опер.ПолучитьПроводкуПоНомеру(1);

   Если Опер.ПроверитьПроводку() = 0 Тогда

      Опер.УдалитьПроводку();

   КонецЕсли;

КонецЦикла;

Опер.Записать();

УдалитьПроводку

Удалить проводку.

Синтаксис:

УдалитьПроводку()

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

DeleteEntry

Описание:

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

Собственно изменение в составе проводок будут записаны и повлекут из-менния в бухгалтерских итогах после вызова метода операции Записать.

Пример:

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

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

Пока Опер.КоличествоПроводок() 0 Цикл

   Опер.ПолучитьПроводкуПоНомеру(1);

   Опер.УдалитьПроводку();

КонецЦикла;

Опер.Записать();

Атрибуты контекста модуля формы операции

БИ

Значение, содержащее агрегатный объект типа «БухгалтерскиеИтоги»

Синтаксис:

БИ

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

AT

Описание:

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

Пример:

* Формула суммы проводки типовой опеарции

БИ.ПериодМ(ДатаОперации);

БИ.СКД(Дебет.Счет)

Методы контекста модуля формы операции

ПоТиповойОперации

Определяет, вводится ли новая операция с использованием типовой, и какая типовая операция используется.

Синтаксис:

ПоТиповойОперации (Переменная)

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

ByTemplateOper

Параметры:

Переменная Необязательный параметр. Имя переменной, в которую будет записано наименование типовой операции.
Возвращаемое значение:

Число: 1 — если при вводе операции вручную использована типовая опера-ци; 0 — если при вводе операции вручную не использовалась типовая операция.

Описание:

Определяет, вводится ли новая операция с использованием типовой. Если указан параметр Переменная, в переменную будет записано имя типовой операции;

Пример:

Процедура ПриОткрытии()

   Если ПоТиповойОперации() = 0 Тогда

      ИспользоватьВалюту(Константа.ОснВалюта);

   КонецЕсли;

КонецПроцедуры;

ИспользоватьВалюту

Установка валюты используемой по умолчанию.

Синтаксис:

МспользоватьВалюту(Валюта)

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

UseCurrency

Параметры:

Валюта Необязательный параметр. Значение типа «Спра­вочник», имеющий вид, определенный при на­стройке валютного учета. Если параметр не задан, установка не изменяется.
Возвращаемое значение:

Значение установки используемой валюты на момент до вызова метода.

Описание:

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

Пример:

Процедура ПриОткрытии()

   ИспользоватьВалюту(Константа.ОснВалюта);

КонецПроцедуры;

ИспользоватьКорСчет

Установка корреспондирующего счета используемого по умолчанию.

Синтаксис:

ИспользоватьКорСчет(Счет)

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

UseCorAccount

Параметры:

Счет Необязательный параметр. Значение типа «Счет». Если параметр не задан, установка не изменяется.
Возвращаемое значение:

Значение установки используемого по умолчанию корреспондирующего счета на момент до вызова метода.

Описание:

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

Пример:

Процедура ПриОткрытии()

   ИспользоватьКорСчет(Константа.СчетПервОстатков);

КонецПроцедуры;

ИспользоватьСубконто

Установка субконто используемого по умолчанию.

Синтаксис:

ИспользоватьСубконто(ВидСубконто, Субконто)

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

UseSubconto

Параметры:

ВидСубконто Значение типа «ВидСубконто».
Субконто Необязательный параметр. Значение субконто. Если параметр не задан, установка не изменяется.
Возвращаемое значение:

Значение установки используемого по умолчанию субконто на момент до вызова метода.

Описание:

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

Пример:

Процедура ПриОткрытии()

   ИспользоватьСубконто(ВидыСубконто.Склады, Константа.ОснСклад);

КонецПроцедуры;

ИзменениеПорядкаСтрок

Установить режим изменения порядка строк в форме операции.

Синтаксис:

ИзменениеПорядкаСтрок(Разрешить)

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

ChangeLinesOrder

Параметры:

Разрешить Необязательный параметр. Число: 1 — разрешить изменение порядка строк в операции; 0 — запретить. Если параметр не задан, то режим не меняется.
Возвращаемое значение:

Режим изменения порядка строк до исполнения метода. Число: 1 — разре­шено изменение порядка строк в операции; 0 — запрещено.

Описание:

Метод ИзменениеПорядкаСтрок позволяет установить режим изменения порядка строк в форме операции.

Пример:

ИзменениеПорядкаСтрок(0);

Предопределенные процедуры модуля формы операции

Описанные в данном разделе системные предопределенные процедуры должны располагаться только в модуле формы операции (см. «Виды программ­ных модулей»).

В основном данные процедуры предназначены для расширения возможно­сти программного управления правами доступа к системе.

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

ВводНового

Предопределенная процедура при вводе новой операции.

Синтаксис:

ВводНового(ПризнКопирования, ОбъектКопирования)

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

InputNew

Параметры:

ПризнКопирования Признак того, что объект введен копированием. Число: 1 — объект введен копированием, 0 — просто новый объект. Данный признак может быть использован для анализа необходимости инициализации реквизитов нового объекта.
ОбъектКопирования Объект, который был скопирован.
Описание:

Вызов процедуры ВводНового производится в системе 1С:Предприятие неявно в момент выбора пункта «Новая» из меню «Действия» главного меню системы 1С:Предприятие при работе с журналом операций, или в других слу­чаях при открытии формы операции для ввода новой операции. Данная проце­дура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов новой операции. Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю нельзя вводить операции), ввода новой операции и открытие ее формы не бу­дет выполнено.

Процедура ВводНового должна размещаться в модуле формы операции (см. «Виды программных модулей»).

Пример:

Процедура ВводНового()

   ИспользоватьВалюту(Константа.ОснВалюта);

КонецПроцедуры

См. также: СтатусВозврата

ВводНаОсновании

Предопределенная процедура при вводе новой операции на основании.

Синтаксис:

ВводНаОсновании(ДокОснование)

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

InputCausedBy

Параметры:

ДокОснование Значение документа, на основании которого вво­дится новая операция.
Описание:

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

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

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

Процедуру ВводНаОсновании можно размещать только в модуле формы операции (см. «Виды программных модулей»).

Пример:

Процедура ВводНаОсновании(ДокОсн)

   Если ДокОсн.Вид() = ПлатПор Тогда

      ИспользоватьСубконто(ВидыСубконто.Организации, ДокОсн.Получатель);

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата

ПриЗаписи

Предопределенная процедура вызывается при записи операции.

Синтаксис:

ПриЗаписи()

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

OnWrite

Описание:

Вызов предопределенной процедуры ПриЗаписи производится в системе 1С:Предприятие при записи операции в форме операции. Если в данной предо­пределенной процедуре установить статус возврата — 0 (например, если не пра­вильно заполнены реквизиты операции), запись операции не будет выполнена.

Данная предопределенная процедура может располагаться в модулях формы операции (см. «Виды программных модулей»).

Пример:

Процедура ПриЗаписи()

   Если ПустаяСтрока(Содержание) = 1 Тогда

      Предупреждение(Не заполнено содержание операции!);

      СтатусВозврата(0);

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата

ПриНачалеРедактированияСтроки

Предопределенная процедура вызывается при редактировании суще­ствующей проводки или корреспонденции операции.

Синтаксис:

ПриНачалеРедактированияСтроки()

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

OnStartEditLine

Описание:

Вызов предопределенной процедуры ПриНачалеРедактированияСтроки производится в системе 1С:Предприятие в момент начала интерактивного ре­дактирования существующей проводки или корреспонденции операции.

Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю нельзя редактировать проводки опера­ции), то проводка не будет изменена.

Данная предопределенная процедура может располагаться в модуле формы операции (см. «Виды программных модулей»).

Пример:

Процедура ПриНачалеРедактированияСтроки()

   Если НазваниеНабораПрав() = Оператор Тогда

      Предупреждение(У вас нет права изменять проводки!);

      СтатусВозврата(0);

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата

ПриВводеСтроки

Предопределенная процедура при вводе новой проводки или коррес­понденции операции.

Синтаксис:

ПриВводеСтроки()

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

OnNewLine

Описание:

Вызов предопределенной процедуры ПриВводеСтроки производится в сис­теме ЮПредприятие при интерактивном вводе новой проводки или коррес­понденции операции. Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю редактировать опера­ции), то новая строка не будет инициирована.

Данная предопределенная процедура может располагаться в модуле формы операции (см. «Виды программных модулей»).

Пример:

Процедура ПриНачалеРедактированияСтроки()

   Если НазваниеНабораПрав() = Оператор Тогда

      Предупреждение(У вас нет права добавлять проводки!);

      СтатусВозврата(0);

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата

ПриРедактированииНовойСтроки

Предопределенная процедура при редактировании новой проводки или корреспонденции операции.

Синтаксис:

ПриРедактированииНовойСтроки()

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

OnEditNewLine

Описание:

Вызов предопределенной процедуры ПриРедактированииНовойСтроки производится в системе 1С:Предприятие в момент начала интерактивного ре­дактирования новой проводки или корреспонденции операции. Данная проце­дура может использоваться, например, для установки начальных значений (по умолчанию) проводки. В данной предопределенной процедуре установка статуса возврата не имеет смысла, т. к. отказаться от ввода новой проводки в этот момент уже невозможно.

Данная предопределенная процедура может располагаться в модуле формы операции (см. «Виды программных модулей»).

Пример:

Процедура ПриРедактированияНовойСтроки()

   Фирма = Константа.ОснФирма;

КонецПроцедуры

См. также: СтатусВозврата

ПриУдаленииСтроки

Предопределенная процедура при удалении проводки или коррес­понденции операции.

Синтаксис:

ПриУдаленииСтроки()

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

OnDeleteLine

Описание:

Вызов предопределенной процедуры ПриУдаленииСтроки производится в системе 1С:Предприятие при интерактивном удалении проводки или коррес­понденции операции.

Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю нельзя редактировать проводки опера­ции), удаление проводки или корреспонденции операции не будет выполнено.

Данная предопределенная процедура может располагаться только в модуле формы операции (см. «Виды программных модулей»).

Пример:

Процедура ПриНачалеРедактированияСтроки()

   Если НазваниеНабораПрав() = Оператор Тогда

      Предупреждение(У вас нет права изменять проводки!);

      СтатусВозврата(0);

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата

ПриИзмененииПорядкаСтрок

Предопределенная процедура при изменении порядка строк опера­ции.

Синтаксис:

ПриМзмененииПорядкаСтрок(Действие)

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

OnChangeLinesOrder

Параметры:

Действие      Число: 1 — перемещение строки вниз; -1 (минус единица) — перемещение строки вверх.
Описание:

Вызов предопределенной процедуры ПриИзмененииПорядкаСтрок произ­водится системой 1С:Предприятие неявно при интерактивной попытке пере­мещения строк вверх-вниз и перенумерации (до выполнения действия).

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

Данная предопределенная процедура может располагаться только в модуле формы операции (см. «Виды программных модулей»).

Пример:

Процедура ПриИзмененииПорядкаСтрок(Направление)

   СтатусВозврата(0);

КонецПроцедуры

См. также: СтатусВозврата



ПриУстановкеИнтервала Предопределенная процедура при установке интервала журнала.

Синтаксис:

ПриУстановкеИнтервала(ДатаНач, ДатаКон)

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

OnSetRange

Параметры:

ДатаНач Дата начала интервала журнала.
ДатаКон Дата конца интервала журнала.
Описание:

Вызов предопределенной процедуры ПриУстановкеИнтервала произво­дится системой 1С:Предприятие неявно при интерактивной попытке устано­вить интервал в журнале документов. Если в данной предопределенной проце­дуре установить статус возврата — 0 (например, если данному пользователю нельзя изменять интервал журнала), установка не будет выполнена.

Пример:

Процедура ПриУстановкеИнтервала(ДатаНач, ДатаКон)

   Если НазваниеНабораПрав() = Продавец Тогда

      Предупреждение(У вас нет права изменять интервал журнала!, 2);

      СтатусВозврата(0);

   КюнецЕсли;

КонецПроцедуры

См. также: СтатусВозврата


ПриПоказеПроводокПоДокументу Предопределенная процедура при показе проводок по документу (операции).

Синтаксис:

ПриПоказеПроводокПоДокументу(Документ)

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

OnShowEntrysByDoc

Параметры:

Документ Документ по которому выводятся проводки.
Описание:

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

Вызов предопределенной процедуры ПриПоказеПроводокПоДокументу производится системой 1С:Предприятие неявно при обновлении содержимого подчиненного журнала проводок текущей операции.

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

Если в данной предопределенной процедуре установлен статус возврата 0, то проводки операции показываться не будут (например, если пользователю запрещен просмотр проводок).

Пример:

Процедура ПриПоказеПроводокПоДокументу(ТекДок)

   Если ТекДок.Операция.Фирма ТекФирма Тогда

      СтатусВозврата(0);

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата


ВыбранаПоДт, ВыбранаПоКт ВыбранаПоДт — определение, выбран ли итог по дебету;

ВыбранаПоКт — определение, выбран ли итог по кредиту.

Синтаксис:

ВыбранаПоДт()

ВыбранаПоКт()

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

SelectedByDt

SelectedByKt

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

Число: 0 —данный итог по дебету(кредиту) не выбран; 1 —данный итог по дебету(кредиту) выбран.

Описание:

Данные функция используются при обходе результатов запроса с детализа­цией периода по операциям и проводкам. Они показывают для текущей опера­ции (проводки) попала ли она в запрос по дебетовой (кредитовой) корреспон­денции.

Пример:

БухИтоги.ВыполнитьЗапрос(Дата1, Дата2, 50, , , , Проводки);

БухИтоги.ВыбратьСчета();

БухИтоги.ВыбратьПериоды();

КолПрих=0;

КолРасх=0;

Пока БухИтоги.ПолучитьПериод() = 1 Цикл

   Если БухИтоги.ВыбранаПоДт() = 1 Тогда

      КолПрих = КолПрих + 1;

   КонецЕсли;

   Если БухИтоги.ВыбранаПоКт() = 1 Тогда

      КолРасх = КолРасх + 1;

   КонецЕсли;

КонецЦикла;


Удалить Удалить корректную проводку.

Синтаксис:

Удалить()

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

Delete

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

Число: 1 — корректная проводка успешно удалена; 0 — не удалена.

Описание:

Метод Удалить удаляет корректную проводку.

Пример:

КП = СоздатьОбъект(КорректныеПроводки);

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

Пока КП.ПояучитьКорректнуюПроводку() = 1 Цикл

   Если КП.Комментарий = НДС с комисс. вознаграждения Тогда

      КП.Удалить();

      Прервать;

   КонецЕсли;

КонецЦикла;


ПриУстановкеПредставления Предопределенная процедура, вызываемая при установке режима представления журнала расчетов (по всем объектам расчетов, по од­ному объекту расчета, по одному документу расчета).

Синтаксис:

ПриУстановкеПредставления(Режим}

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

OnSetPresentation

Параметры:

Режим Числовое значение — режим представления записей журнала расчетов, устанавливаемый пользователем.
Описание:

Вызов этой предопределенной процедуры производится системой 1С:Предприятие неявно при интерактивной попытке установить другой режим представления записей в журнале расчетов. Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользова­телю нельзя использовать определенный режим), установка не будет выполне­на.

Параметр Режим может принимать следующие значения:

1. Записи по всем объектам расчета.

2. Записи по одному объекту расчета.

3. Записи по одному документу-основанию.

Данная предопределенная процедура может располагаться только в модуле формы журнала расчетов.

Пример:

Процедура ПриУстановкеПредставления(Режим)

   Если НазваниеНабораПрав() = Расчетчик Тогда

      Если (Режим = 1) Тогда

         Предупреждение(Недостаточно прав!, 2);

         СтатусВозврата(0);

      КонецЕсли;

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата, УстановитьПредставление


ПолучитьРасчет Получает ссылку на вид расчета.

Синтаксис:

ПолучитьРасчет(Номер)

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

GetCalculation

Параметры:

Номер Номер вида расчета в списке видов расчета данной группы.
Возвращаемое значение:

Агрегатный объект типа «Вид Расчета».

Описание:

Метод позволяет получить ссылку на вид расчета, входящий в данную группу под определенным номером. Обычно применяется в цикле с методом Количество.

Пример:

См. предыдущий пример.

См. также: Количество


Применять Устанавливает необходимость применять или не применять все пра­вила перерасчетов при вводе новых записей в журнал расчетов.

Синтаксис:

Применять(ФлагПрименения)

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

Use

Параметры:

ФлагПрименения Число: 1 — применять; 0 — не применять.
Возвращаемое значение:

Текущее значение флага применения (до исполнения метода).

Описание:

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

Пример:

ПравилоПерерасчета.Применять(1);


СледующаяДата Выбирает следующий день праздников в выборке.

Синтаксис:

СледующаяДата()

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

NextDate

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

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

Описание:

Выбирает следующий день праздников (позиционируется на очередной за­писи выборки) в порядке дат.

Пример:

// Праздничные дни

Празд = СоздатьОбъект(Праздники);

Празд.ВыбратьДаты(ДатаНачала, ДатаОкончания);

Пока Празд.СледующаяДата() = 1 Цикл

   // ...

КонецЦикла;

См. также: ВыбратьДаты


Проверить Проверяет, является ли последовательность непрерывной от ГП до заданного документа.

Синтаксис:

Проверить(Докум)

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

Validate

Параметры:

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

Число: 1 если последовательность непрерывна; 0 если есть проведенные до­кументы между ГП и документом.

Описание:

Метод Проверить проверяет, есть ли между ГП и данной точкой проведен­ные документы входящие в даную последовательность (т. е. является ли после­довательность непрерывной от ГП до этой точки).

Пример:

Если Последовательность.УправленческийУчет.Проверить(Док) = 1 Тогда

   Последовательность.УправленческийУчет.Установить(Док);

КонецЕсли;


Удалить Удалить периодическое значение.

Синтаксис:

Удалить()

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

Delete

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

Число: 1 — если вызов метода закончился успешно, 0 — если нет.

Описание:

Метод Удалить удаляет периодическое значение на заданную дату. До вы­зова данного метода атрибут ДатаЗнач должен содержать дату удаляемого пе­риодического значения..

Пример:

Процедура ЧисткаКурсов()

   Вал = СоздатьОбъект(Справочник.Валюты);

   // Позиционируем созданный объект Вал по известному коду

   Вал.НайтиПоКоду(1);

   Если Вал.Выбран() = 1 Тогда

      Доллар = Вал.ТекущийЭлемент();

   Иначе

      Предупреждение(Не найдена валюта!);

      Возврат;

   КонецЕсли;

   ПерВал = СоздатьОбъект(Периодический);

   ПерВал.ИспользоватьОбъект(Текущ_курс.Доллар);

   ПерВал.ВыбратьЗначения();

   Пока ПерВал.ПолучитьЗначение() = 1 Цикл

      Курс = ПерВал.Значение;

      ДатаКурса = ПерВал.ДатаЗнач;

      Если Курс 1000 Тогда

         ПерВал.Удалить();

      КонецЕсли;

   КонецЦикла;

КонецПроцедуры


Выгрузить Выгрузить список значений в другой список значений или таблицу значений.

Синтаксис:

Выгрузить(Знач, НачПоз, Колич)

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

Unload

Параметры:

Знач Значение типа «Таблица значений» или «Список значений», в которое нужно выгрузить данные. При выгрузке в таблицу значений, в ней добавля­ется новая колонка. Если переданное значение пустое, тогда система сама создаст объект типа «Список значений».
НачПоз Необязательный параметр. Номер начальной по­зиции, с которой надо начинать выгрузку. Значе­ние по умолчанию 1.
Колич Необязательный параметр. Количество выгру­жаемых значений, если не указан то все.
Описание:

Метод Выгрузить позволяет выгрузить список значений в другой список значений или таблицу значений. При выгрузке в таблицу значений, в ней до­бавляется новая колонка.

Пример:

СтарСписок.Выгрузить(НовСписок);


Пример использования объекта Таблица Значений Пример:

Функция ВыбратьОплаты(ВыбДок)

   ТЗ = СоздатьОбъект(ТаблицаЗначений);

   ТЗ.НоваяКолонка(ДатаДок, Дата, , , Дата, 15);

   ТЗ.НоваяКолонка(Номер, Строка, 20, , Номер, 15);

   ТЗ.НоваяКолонка(Сумма, Число, 18, 2, Сумма, 20);

   ТЗ.НоваяКолонка(РасчетныйСчет, Справочник.БанковскиеСчета, , ,

                   Расч.счет, 30);

   ТЗ.НоваяКолонка(ПодчДок, Документ, , , );

   ТЗ.ВидимостьКолонки(ПодчДок, 0);

   Док = СоздатьОбъект(Документ);

   Док.ВыбратьПодчиненныеДокументы(, , ВыбДок);

   Пока Док.ПолучитьДокумент() = 1 Цикл

      Если Док.Вид() = ОплатаПоставщикам Тогда

         ТЗ.НоваяСтрока();

         ТЗ.ДатаДок = Док.ДатаДок;

         ТЗ.Номер = Док.НомерДок;

         ТЗ.Сумма = Док.Итог(Сумма);

         ТЗ.РасчетныйСчет = Док.РасчетныйСчет;

         ТЗ.ПодчДок = Док.ТекущийДокумент();

      КонецЕсли;

   КонецЦикла;

   ВыбСтрока = 0;

   Если ТЗ.ВыбратьСтроку(ВыбСтрока, Выберите оплату) = 1 Тогда

      Возврат ТЗ.ПолучитьЗначение(ВыбСтрока, ПодчДок);

КонецФункции


ПриОткрытии Предопределенная процедура при открытии формы отчета (обработ­ки).

Синтаксис:

ПриОткрытии(ФлагЧтенияНастройки)

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

OnOpen

Параметры:

ФлагЧтенияНастройки Числовое значение — признак считывания сохраненной настройки отчета (обработки). Может принимать значения:

1 — при открытии формы была восстановле­на последняя сохраненная настройка отчета (обработки);

0 — при открытии формы настройка не вос­становлена.
Описание:

Форма любого отчета или обработки в системе 1С:Предприятие обязательно содержит экранный диалог. В диалоге могут размещаться элементы для зада­ния различных параметров построения отчета или выполнения обработки. При Использовании отчета (обработки) набор параметров, использованных при формировании отчета или выполнения обработки, можно запомнить, а при сле­дующем использовании этого же отчета (обработки) — восстановить. Для вы­полнения этих операций существуют команды в меню «Действия» системы 1С:Предприятие.

Набор параметров формирования отчета или выполнения обработки назы­вается настройкой отчета (обработки). Последняя сохраненная настройка авто­матически восстанавливается системой 1С:Предприятие, при вызове отчета (обработки).

Вызов предопределенной процедуры ПриОткрытии производится самой системой 1С:Предприятие неявно при интерактивном открытии отчета (обра­ботки). Параметр ФлагЧтенияНастройки позволяет определить, была ли при открытии отчета (обработки) восстановлена сохраненная настройка.

Если в данной предопределенной процедуре установить статус возврата 0 (например, если данному пользователю запрещено формировать выбранный отчет), открытие формы не будет выполнено.

Пример:

Процедура ПриОткрытии(ФлагСохрНастр)

   Если ФлагСохрНастр = 0 Тогда

      ВыбВалюта = Константа.ОснВалюта;

   КонецЕсли;

КонецПроцедуры

См. также: СтатусВозврата


ПриВыбореЯчейкиТаблицы Предопределенная процедура обработки ячейки таблицы в режиме ввода данных.

Описание:

ПриВыбореЯчейкиТаблицы(ИмяИлиАдрес, Значение)

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

OnSelectSheetCell

Параметры:

ИмяИлиАдрес Здесь в процедуру системой передается строковое зна­чение имени области таблицы, если выбранная ячейка помечена в таблице как отдельная область, или адрес ячейки в формате «R1C1:R2C2».
Значение Здесь в процедуру системой передается значение даной ячейки, а если диаграмма — значение выбранного эле­мента.
Описание:

Вызов процедуры ПриВыбореЯчейкиТаблицы на исполнение производится в системе 1С:Предприятие по двойному щелчку мыши или по нажатию клави­ши «Enter» на выбранной ячейке в таблице

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

Замечание ПриВыбореЯчейкиТаблицы — предопределенная процедура. Она не является встроенной процедурой языка. Для нее определено только на­звание и синтаксис. Тело процедуры должно быть написано пользовате­лем, осуществляющим конфигурирование, в программном модуле формы, в которой используется таблица в режиме ввода данных.

Пример:

Процедура ПриВыбореЯчейкиТаблицы(ИмяЯчейки, Знач)

   // Тело процедуры

   // ...

КонецПроцедуры


Записать Записать текст в файл с указанным именем.

Синтаксис:

Записать(ИмяФайла)

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

Write

Параметры:

ИмяФайла Строковое выражение — имя файла.
Описание:

Метод Записать записывает текст в файл с именем ИмяФайла.

Пример:

ТекстДок = СоздатьОбъект(Текст);

ТекстДок.Открыть(catalog.txt);

ТекстДок.Записать(price.txt);


ПолучитьАтрибут Возвращает значение атрибута запроса по его имени.

Синтаксис:

ПолучитьАтрибут(ИмяАтрибута)

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

SetAttrib

Параметры:

ИмяАтрибута Строковое выражение, содержащее значение лю­бого атрибута запроса.
Возвращаемое значение:

Значение атрибута запроса.

Описание:

Метод ПолучитьАтрибут возвращает значение атрибута запроса по его имени.

Пример:

// Текст запроса

ТекстЗапроса =

|ВидРаб = Документ.Наряд.ВидРаботы;

|Сотр = Документ.Наряд.Сотрудник;

|Группировка ВидРаб

|Упорядочить По ВидРаб.Код, ВидРаб.Стоимость;

|Группировка Сотр;

|;

// ...

// Фрагмент заполнения таблицы

// Выбираем значение ВидРаб

Запрос.ПолучитьАтрибут(ВидРаб);

// Выбираем сотрудника

Запрос.ПолучитьАтрибут(Сотр);


Функция Вычисляет функцию и включает ее результат в запрос.

Синтаксис:

Функция ИмяФункции = ТипФункции (Параметр|УточненныйПараметр)

                 [Когда (Условие)];

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

Function ИмяФункции= ТипФункции (Параметр|УточненныйПараметр)

                 [When (Условие)];

Параметры:

ИмяФункции Имя, которое присваивается функции. По этому имени можно в дальнейшем обращаться к значению вычисленной функции из вызы­вающего программного модуля как к атрибуту запроса. Данную внутреннюю переменную заранее объявлять не нужно. Она фактически неявно объявляется в операторе Функция.
TипФyнкции Ключевое слово одной из встроенных функ­ций языка. Может быть одним из приведен­ных ниже.
Параметр Имя объявленной ранее внутренней перемен­ной, значение которой используется как пара­метр встроенной функции ТипФункции. В функциях: Сумма, Среднее, Максимум, Минимум в качестве данного параметра воз­можно использование арифметического выра­жения в терминах встроенного языка 1С:Предприятие.
УточненныйПараметр Конкретизация объявленной ранее внутренней переменной, значение которой используется как аргумент встроенной функции ТипФункции.
Когда Необязательное добавочное ключевое слово, использование которого в команде означает, что вычисление функции следует производить только при условии, когда заданное логиче­ское выражение Условие истинно.
Условие Логическое выражение встроенного языка 1С:Предприятие. В логическом выражении могут участвовать как внутренние, так и внешние переменные запроса (см. описание метода Условие). Используется только после ключевого слова Когда.
Описание:

Оператор Функция вычисляет функцию ТипФункции и присваивает ее значение внутренней переменной ИмяФункции.

Типы применяемых функций предопределены и могут быть следующими:

Тип

Функции
Англояз. Синоним Выполняемое действие
Сумма Sum Вычисляет сумму выбранных по запросу зна­чений параметра.1
Среднее Avg Вычисляет среднее из выбранных по запросу значений параметра.
Минимум Min Вычисляет минимум из выбранных по запросу значений параметра.
Максимум Мах Вычисляет максимум из выбранных по запро­су значений параметра.
Счётчик Count Подсчитывает количество записей, вошедших в выборку.
НачОст BegRest Вычисляет начальный остаток для выбранных по запросу значений параметра.2
КонОст EndRest Вычисляет конечный остаток для выбранных по запросу значений параметра.2
Приход Debit Вычисляет приход для выбранных но запросу значений параметра.2
Расход Credit Вычисляет расход для выбранных по запросу значений параметра.2
СНД IDB Вычисляет сальдо начальное дебетовое для выбранных по запросу значений параметра.3
СКД FDB Вычисляет сальдо конечное дебетовое для выбранных по запросу значений параметра.3
СНК ICD Вычисляет сальдо начальное кредитовое для выбранных по запросу значений параметра.3
СКК FCD Вычисляет сальдо конечное кредитовое для выбранных по запросу значений параметра.3
ДО TD Вычисляет дебетовые обороты для выбранных по запросу значений параметра.
КО TC Вычисляет кредитовые обороты для выбран­ных по запросу значений параметра.3
КорДО CorTD Вычисляет дебетовые обороты между коррес­пондирующим счетам или субконто для вы­бранных по запросу значений параметра.3, 4
КорКО CorTC Вычисляет кредитовые обороты между кор­респондирующим счетам или субконто для выбранных по запросу значений параметра.3, 4
1Замечание: Для ресурсов оборотных регистров допускается вызывать только тип функции Сумма.

2Замечание: Типы функций НачОст, КонОст, Приход, Расход можно ис­пользовать только с параметрами, указывающими на ресурсы регистров остатков. Для ресурсов регистров остатков другие типы функций вызы­вать нельзя.

3Замечание: Функции СНД, СНК, СКД, СКК, ДО, КО, КорДО, КорКО можно использовать только с реквизитами проводки: Сумма, Количество или ВалСумма.

4Замечание: Функции КорДО и КорКО накапливают значения только тогда когда в запросе есть обращение к реквизитам проводок Счет, КорСчет Субконто или КорСубконто.

Замечание: В программном модуле, где используется запрос, ИмяФункции будет являться атрибутом запроса. При помощи данного атрибута можно обращаться к значению вычисленной в запросе функции.

Замечание: В функциях: Сумма, Среднее, Максимум, Минимум в качест­ве аргумента возможно использование арифметического выражения в терминах встроенного языка.

Пример:

...

|КолВо = Документ.ВидДокумента.Количество;

|Цена = Документ.ВидДокумента.Цена;

|Функция Сум = Сумма(КолВо * Цена);

|Функция Макс = Максимум(Окр(КолВо) * Окр(Цена));

|Функция Средн = Среднее(ФункцияОпределеннаяВМодуле(КолВо, Цена));

...

Пример:

// Создание объекта типа Запрос

Запрос = СоздатьОбъект(Запрос);

ТекстЗапроса =

//{{ЗАПРОС(Функции)

|Период с ДатаНач по ДатаКон;

|Оклад = Справочник.Сотрудники.Оклад;

|Подр = Справочник.Сотрудники.Подразделение;

|Ктг = Справочник.Сотрудники.Категория;

|Группировка Подр без групп;

|Группировка Ктг без групп;

|Функция Всего = Сумма(Оклад);

|Условие((Ктг.Выбран() = 1) И (Подр.Выбран() = 1));

|//}}ЗАПРОС

;

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

   Возврат;

КонецЕсли;

// ...

Итог = Запрос.Всего;

// ...

Оператор Функция предназначен для вычисления и накопления некоторых численных значений в процессе формирования выборки по запросу.

Кроме того, при формировании временного набора данных запрос специ­ально формирует итоговые записи, в которые заносит накопленные значения вычисленных функций для каждой вложенной Группировки (подробнее об этом см. главу данной книги «Структура запросов и методика их использова­ния»).

Операторы функций в запросе можно опускать, тогда запрос просто не бу­дет ничего вычислять, а просто во временный набор данных заносятся записи со значениями Группировок. Однако это справедливо только для работы запро­сов по справочникам и по документам. При работе запроса по регистрам следу­ет помнить, что в этом случае обязательно наличие Функций, причем только в том случае, когда их вычисленные значения отличны от нуля (хотя бы одной из заданных Функций), найденные объекты включаются во временный набор данных, формируемый запросом. Если при работе запроса по регистрам в тек­сте запроса операторы функций опущены, то программа не выдаст никакого сообщения об ошибке, добросовестно пройдет по всем Группировкам, не вы­числит никаких значений Функций и, значит, ничего не запишет во временном файле.

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

В тексте запроса, при описании оператора Функция можно использовать необязательное ключевое слово Когда, использование которого в операторе означает, что вычисление функции следует производить только при условии, что значение логического выражения, заданного в параметре ключевого слова является ИСТИНА. Синтаксис применяемого логического выражения полно­стью аналогичен синтаксису разрешенному к применению в операторах Условие.

Следует понимать, что не все функции внутри конкретной группировки за­проса могут иметь четко интерпретируемый смысл. Например, для группиров­ки по документу движения регистра следующие функции

|Функция ПрихКол = Приход(Количество);

|Функция РасхКол = Расход(Количество);

имеют четкий смысл — приращения, сделанные документом при движении регистра. С другой стороны, в той же группировке следующие функции:

|Функция НачКол = НачОст(Количество);

|Функция КонКол = КонОст(Количество);

явно не имеют смысла (в запросах по регистрам, обычно задают период за­проса при помощи оператора ПериодC. Функция НачКол в данном примере должна по смыслу показывать остаток ресурса Количество на начальную дату запроса. Внутри группировки по документу вопрос: «Какой начальный остаток ресурса на дату 10.01.97?» по документу, проведенному, например, 13.01.97, не имеет смысла). Поэтому в таких ситуациях функция будет иметь нулевое значение.

Пример:

Запрос = СоздатьОбъект(Запрос);

Текст3апроса=

'//{{ЗАПРОС(Функции)

|Период с ДатаОтчета;

|Товар = Регистр.КвотыТоваров.Товар;

|Отдел = Регистр.КвотыТоваров.Отдел;

|Сотрудник = Регистр.КвотыТоваров.Сотрудник;

|Партнер = Регистр.КвотыТоваров.Партнер;

|Док = Регистр.КвотыТоваров.ТекущийДокумент;

|Количество = Регистр.КвотыТоваров.КвотаТовара;

|Группировка Товар;

|Группировка Отдел;

|Группировка Сотрудник;

|Группировка Партнер;

|Группировка Док;

|Функция НачКол = НачОст(Количество);

|Функция ПрихКол = Приход(Количество);

|Функция РасхКол = Расход(Количество);

|Функция КонКол = КонОст(Количество);

|// Следующие Функции вычисляем только при определенных

|// условиях, чтобы получить отфильтрованные итоги

|Функция ПрихКолТов = Приход(Количество) Когда (Док.ФлагТовара = 1);

|Функция РасхКолТов = Расход(Количество) Когда (Док.ФлагТовара = 1);

|Функция ПрихКолОтд = Приход(Количество) Когда (Док.ФлагОтдела = 1);

|Функция РасхКолОтд = Расход(Количество) Когда (Док.ФлагОтдела = 1);

|Функция ПрихКолСотр = Приход(Количество) Когда (Док.ФлагСотрудника = 1);

|Функция РасхКолСотр = Расход(Количество) Когда (Док.ФлагСотрудника = 1);

|//}}ЗАПРОС

;

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

   Возврат;

КонецЕсли;

Способы оптимизации формирования отчетов Процесс получения отчетов с использованием запросов можно условно раз­делить на две фазы: сначала формируется запрос, затем полученные данные выводятся в Таблицу. В данном разделе речь пойдет о второй фазе получения отчета — выводе данных в Таблицу.

Рассмотрим следующий пример. Допустим, требуется вывести в отчет пол­ный перечень товаров со всеми их реквизитами. Для этого сначала формирует­ся запрос с одной Группировкой — Товар, затем полученные данные выво­дятся в Таблицу. Ниже приведены три варианта вывода данных в Таблицу.

Вариант 1

В программном модуле текст вывода данных в Таблицу следующий

Пока Запрос.Группировка(Товар) = 1 Цикл

   Таб.ВывестиСекцию(Товар);

КонецЦикла;

Секция Товар в Таблице имеет следующий формат:

Запрос.Товар.Наименование Запрос.Товар.Артикул
Запрос.Товар.Цена Запрос.Товар.Валюта
В первом варианте отображаемые реквизиты товара полностью вычисляют­ся в ячейках Таблицы, причем доступ к каждому реквизиту товара происходит по полному пути: Запрос-Товар-Реквизит. Данный вариант вывода данных в Таблицу самый медленный.

Вариант 2

В программном модуле текст вывода данных в Таблицу следующий

Пока Запрос.Группировка(Товар) = 1 Цикл

   ПечНаим = Запрос.Товар.Наименование;

   ПечАртикул = Запрос.Товар.Артикул;

   ПечЦена = Запрос.Товар.Цена;

   ПечВалюта = Запрос.Товар.Валюта;

   Таб.ВывестиСекцию(Товар1);

КонецЦикла;

Секция Товар1 в Таблице имеет следующий формат:

ПечНаим ПечАртикул
ПсчЦена ПечВалюта
Во втором варианте отображаемые реквизиты товара вычисляются в про­граммном модуле, а в ячейках Таблицы размещены простые выражения — ссылки на идентификаторы программного модуля. Доступ к каждому реквизи­ту товара происходит по полному пути: Запрос-Товар-Реквизит. В данном ва­рианте фаза вывода данных в Таблицу работает быстрее первого варианта (вы­игрыш ~20%), т. к. в программном модуле выражения вычисляются существен­но быстрее, чем выражения, помещенные в ячейках Таблицы (программный модуль при загрузке компилируется, а выражения в ячейках таблицы интер­претируются каждый раз при выводе секций).

Вариант 3

В программном модуле текст вывода данных в Таблицу следующий

Пока Запрос.Группировка(Товар) = 1 Цикл

   Тов = Запрос.Товар;

   ПечНаим = Тов.Наименование;

   ПечАртикул = Тов.Артикул;

   ПечЦена = Тов.Цена;

   ПечВалюта = Тов.Валюта;

   Таб.ВывестиСекцию(Товар1);

КонецЦикла;

Секция Товар1 в Таблице имеет следующий формат:

ПечНаим ПечАртикул
ПсчЦена ПечВалюта
В третьем варианте отображаемые реквизиты товара вычисляются в про­граммном модуле, а в ячейках Таблицы размещены простые выражения — ссылки на идентификаторы программного модуля. Доступ к каждому реквизи­ту товара происходит по сокращенному пути — через промежуточную перемен­ную: Товар — Реквизит. В данном варианте фаза вывода данных в Таблицу работает быстрее, чем во втором варианте (выигрыш ~20%) и существено бы­стрее, чем в первом варианте (выигрыш ~40%), т. к. вычисление значений рек­визитов объектов через «одну точку» выполняется быстрее, чем через «две (и более) точки».

Кратко суть этого раздела можно выразить так: при реализации больших отчетов, которые рассчитаны на отображение более сотни строк, следует при­держиваться следующих правил:

· не размещайте сложных выражений в ячейках Таблицы. Лучше вычис­лить необходимые значения непосредственно в программном модуле;

· если необходимо получить несколько реквизитов одного объекта, кото­рый сам является составной частью другого объекта, то следует восполь­зоваться промежуточной переменной, в которую сначала можно записать значение всего объекта «целиком», а затем уже от нее получать требуе­мые данные.


УстановитьКартинку

Переустановить объект типа Картинка.

Синтаксис:

УстановитьКартинку(Объект)

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

SetPicture

Параметры:

Объект Выражение, имеющее значение оъекта типа «Картин­ка» встроенного языка или OLE-объект типа I Picture.
Описание:

Метод УстановитьКартинку переписывает (копирует) значение источни­ка Объект в текущий объект. (Данный метод копирует все содержимое од­ного объекта в другой, в отличие от оператора присваивания (=), который пе­редает значение ссылки на уже существующий объект). Например:

А = СоздатьОбъект(Картинка);

В = А;

// в этом случае переменные А и В ссылаются на один и тот же объект

Рассмотрим другой вариант:

А = СоздатьОбъект(Картинка);

В = СоздатьОбъект(Картинка);

А.Загрузить(с:\BMP\Boris.bmp);

В.УстановитьКартинку(А);

// в этом случае переменные А и В ссылаются на два

// разных объекта, хотя и содержат одно и то же

Пример:

// Допустим в Форме диалога у нас есть элемент типа картинка

// с идентификатором Кино.

// Сделаем анимацию изображения в этой форме

Перем фото[5];

// создадим объекты и загрузим в них картинки

Для Н = 1 По 5 Цикл

   Фото[Н] = СоздатьОбъект(Картинка);

   Фото[Н].Загрузить(с:\BMP\Foto + Строка(Н)+ .bmp);

КонецЦикла;

// Теперь запустим анимацию

Для Раз = 1 По 100 Цикл

   Для Н = 1 По 5 Цикл

      Кино.УстановитьКартинку(Фото[H]);

   КонецЦикла;

КонецЦикла;


Пример использования Предположим, что проектируется отчет о продаже товара. Внешний вид от­чета визуально настроен. Мы предполагаем, что будет построена объемная гис­тограмма с одной точкой («Продано на сумму») и количеством серий равным количеству товаров.

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

ПостроитьДиаграмму(Таб.ТекущийОбъект, Запрос)

Параметрами процедуры являются:

· Объект «Диаграмма», переданный как текущий объект табличного доку­мента (подробнее см. в главе Работа с таблицами);

· запрос к базе данных, сформированный и выполненный ранее.

Пример:

Процедура ПостроитьДиаграмму(Диаграмма, Запрос)

   //На время наполнения данными, запретим перерисовку

   Диаграмма.Обновление(0);

   // задаем текст заголовка

   Диаграмма.Заголовок = Пример использования диаграммы;

   // задаем текст метки точки

   Диаграмма.УстановитьИмяТочки(1, Продано на сумму);

   СчетчикСерий = 1;

   Пока Запрос.Группировка(Товар) = 1 Цикл

      ПродСумма = Запрос.СуммаПродано;

      // задаем очередное значение

      Диаграмма.Значение(1, СчетчикСерий, ПродСумма);

      // задаем метку очередной серии

      Диаграмма.УстановитьИмяСерии(СчетчикСерий, Запрос.Товар.Наименование)

      СчетчикСерий = СчетчикСерий + 1;

   КонецЦикла;

   // После заполнения данных, включим перерисовку

   Диаграмма.Обновление(1);

КонецПроцедуры


СвободноеМестоНаДиске Определить размер свободного дискового пространства.

Синтаксис:

СвободноеМестоНаДиске(ИмяДиска)

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

GetDiskFreeSpace

Параметры:

ИмяДиска Строковое выражение с именем диска.
Возвращаемое значение:

Численое значение — размер свободного дискового пространства в байтах.

Описание:

Метод СвободноеМестоНаДиске возвращает численое значение размера

свободного дискового пространства.

Пример:

* В данном примере приведена процедура определения свободного дискового пространства диска С:

Процедура РазмД()

   Рез = ФС.СвободноеМестоНаДиске(С:);

КонецПроцедуры


Функции, применяемые в выражениях
Функция Параметр(ы) Возвращаемое значение
DATE() Тип даты. Системная дата.
DAY(Date) Тип даты. Число. Номер дня в месяце.
DTOC(Date) Тип даты. Строка. Представление даты в формате ММ/ДД/ГГ
DTOS(Date) Тип даты. Строка. Представление даты в формате ГГГГММДД
IIF(Log, IfTrue, IfFalse) Log — выраже­ние булева ти­па.

IfTrue, IfFalse — тип определяется во время исполне­ния. Должны иметь одинако­вую длину и тип.
Тип совпадает с типом IfTrue и IfFalse.

Возвращает IfTrue, если значе­ние вычисленного выражения Log равно истине, и IfFalse в про­тивном случае.
LTRIM(String) String — строка. Строка. Исходная строка без ве­дущих пробелов.
Month(Date) Date — дата. Число. Номер месяца в году.
STOD(String) String — строка. Пред­ставление даты в формате ГГГГММДД Тип даты. Преобразованное в дату значение исходной строки.
STR(Number, Length, Decim) Number — чис­ло. Преобра­зуемое число.

Length — число. Количество символов в воз­вращаемой строке, включая дес. точку.

Decim — число. Желаемое кол-во знаков после точки.
Строка. Результат преобразования числа в строковое представление.
SUBSTR(String, StartPos, Num) String — строка. Исход­ная строка.

StartPos — число. Началь­ная позиция.

Num — число. Кол-во симво­лов.
Строка. Подстрока, состоящая из Num символов от начальной пози­ции исходной строки.
TIME() Строка. Системное время в пред­ставлении ЧЧ:ММ:СС
TRIM(String) String — строка. Строка. Исходная строка без за­ключительных пробелов.
UPPER(String) String — строка. Строка. Преобразование к верхне­му регистру
VAL(String) String — строка. Число. Преобразование строки в число
YEAR(Date) Date — дата. Число. Год.

ДлинаПредставленияЗначения Возвращает длину представления значения.

Синтаксис:

ДлинаПредставленияЗначения(Мин, Макс, ДлПоУмолч)

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

ValuePresentLen

Параметры:

Мин Необязательный параметр. Метод не будет воз­вращать значение меньше указанной в данном параметре величины.
Макс Необязательный параметр. Метод не будет воз­вращать значение больше указанной в данном параметре величины.
ДлПоУмолч Необязательный параметр. Метод будет возвра­щать данную величину для метаданных, для которых длина представления не определена. Параметр задает длину для типов данных, таких как Справочник неопределенного типа и анало­гичных, у которых не определена длина.
Возвращаемое значение: возвращает длину представления значения.

Описание:

Метод ДлинаПредставленияЗначения для типизированных объектов ти­па Реквизит и аналогичных, выдает длину представления значения. Данный метод может использоваться, например, для определения ширины столбца в универсальных отчетах, выводящих данные объектов различных видов.

Пример:

Ширина =

   Метаданные.Документ(1).РеквизитШапки(2).ДлинаПредставленияЗначения(5, 50, 30)


Работа системы 1С:Предприятие в качестве DDE сервера Другим способом обращения к данным 1С:Предприятие а из внешних про­грамм является режим DDE. Основное преимущество данного режима является динамическое обновление получаемых из 1С:Предприятие данных.

Система 1С:Предприятие является DDE сервером и предоставляет свой сер­вис в получении данных и уведомлении DDE клиента об их изменении.

В качестве DDE сервера 1С:Предприятие может возвращать значение неко­торого выражения, записанного на встроенном языке 1С:Предприятие. Возвра­щаемое значение является строкой. Для того, чтобы рассматривать результат выражения в качестве числа или даты, например в ячейке MS Excel, может потребоваться задание формата значения.

Для доступа к 1С:Предприятие посредством DDE следует использовать DDE-объект с именем 1CV7|DDE.

Пример:

* Ниже приведены примеры размещения в ячейках MS Excel DDE связей с программой 1С:Предприятие. Первое выражение в примере обращается к стандартной функции встроенного языка 1С:Предприятие. Второе выраже­ние в примере обращается к функции, записанной в глобальном модуле конфигурации программы 1С:Предприятие.

='1CV7'|DDE!'РабочаяДата()'

='1CV7'|DDE!'СуммаПоНарядам()'

Замечание 1: Для правильной интерпретации значения выражения в качестве числа или даты в MS Excel, нужно в операционной системе установить соответствующий формат представления даты и числа, как он принят в 1С:Предприятие.

Замечание 2: Не рекомендуется обращаться посредством DDE к функциям 1С:Предприятие, которые могут выполняться продолжительное время. Это связано с тем, что обращение к данной функции будет выполняться достаточно часто при обновлениях DDE связей.



Содержание раздела