Описание встроенного языка системы 1С Предприятие

         

Агрегатные типы данных


Агрегатные типы данных — это специализированные типы данных систе­мы 1С:Предприятие, суть которых — отражение объектов предметной области и способ работы с ними.

Работа с агрегатными типами данных имеет существенные отличия от рабо­ты с обычными базовыми типами данных. Конкретные значения существую­щих агрегатных типов данных могут быть определены в программном модуле двумя способами:

некоторые значения заранее известны в программном модуле из его гло­бального и локального контекста;

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

Каждый агрегатный тип данных, как правило, имеет набор атрибутов и ме­тодов.

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

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

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

Замечание. Работа с агрегатными типами данных языка напоминает работу с объектными типами в Visual Basic. Атрибуты агрегатного типа данных — аналогичны свойствам объектного типа в Visual Basic. Методы — анало­гичны методам объектного типа в VisualBasic.

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




Типичная последовательность работы с объектом агрегатного типа данных выглядит следующим образом:

с помощью функции СоздатьОбъект создается объект агрегатного типа данных, и какой-либо переменной присваивается ссылка на него;

объект позиционируется на нужном элементе данных;

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

в случае, если объект агрегатного типа данных больше не нужен, он мо­жет быть отсоединен от переменной посредством переприсваивания пе­ременной какого-либо значения базового типа (например, числа 0). От­соединение объекта выполнять не обязательно.

Пример:

// Создаем объект типа "справочник.Сотрудники"

Сотр = СоздатьОбъект("Справочник.Сотрудники");

// Позиционируем созданный объект Сотр по известному наименованию

Сотр.НайтиПоНаименованию("Петров");

Если Сотр.Выбран() = 1 Тогда



   // если сотрудник найден, отобразим его оклад

   Предупреждение("Оклады" + Сотр.Оклад);

Иначе

   Предупреждение("Петров не найден" + " !!!");

КонецЕсли;

// отсоединяем объект

Сотр=0;

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

или элемент справочника). Для до­кументов позиционирование выполняется при помощи методов НайтиДокумент, НайтиПоНомеру, ПолучитьДокумент. Для справочни­ков позиционирование выполняется при помощи методов НайтиЭлемент, НайтиПоКоду, ПолучитьЭлемент.

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



Агрегатными типами данных называются следующие типы данных:

Константа — средство работы с постоянными (или условно постоянными) значениями. В константах

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

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

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

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

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

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



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

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

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



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

ЖурналРасчетов — средство для учета расчетных действий по тем или иным объектам расчета. Каждая строка журнала расчетов соответствует одному расчетному действию — акту расчета, выполняемому по определенному алго­ритму (виду расчета), в определенном временном интервале и имеющему ре­зультат. (ЖурналыРасчетов доступны только при наличии компоненты «Рас­чет»)

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

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



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

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

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

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

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

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

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

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



при помощи вызова системной функ­ции СоздатьОбъект.

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

ФС — средство для работы с дисковыми файлами непосредственно из встроенного языка системы 1С:Предприятие. В программных модулях допуска­ется создавать произвольное число объектов типа ФС при помощи вызова сис­темной функции СоздатьОбъект. Кроме того, в глобальном контексте по умол­чанию существует один уже созданный объект этого типа с именем ФС (имя объекта совпадает с названием агрегатного типа данных).

XBase — средство для работы с файлами баз данных DBF формата непо­средственно из встроенного языка системы 1С:Предприятие. В программных модулях допускается создавать произвольное число объектов типа XBase при помощи вызова системной функции СоздатьОбъект.


Активизировать


Установить курсор на выбранный элемент диалога.

Синтаксис:

Активизировать(<ИмяРеквизита>, <Режим>)

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

Activate

Параметры:

<ИмяРеквизита>

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

<Режим>

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

Описание:

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

Метод Активизировать может быть вызван из другого (внешнего) моду­ля, если в нем известен контекст формы, в которой нужно активизировать эле­мента диалога.

Пример:

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



АктивизироватьОбъект


Установить курсор в списке на выбранном объекте.

Синтаксис:

АктивизироватьОбъект(<Объект>)

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

ActivateObj

Параметры:

<Объект>

Выражение, которое может содержать значение элемента справочника или документ или запись журнала расчетов (в зависимости от типа модуля формы, в котором должен быть активизирован эле­мент диалога).

Описание:

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

Пример:

АктивизироватьОбъект(ВыбДокумент);



АктивизироватьСтроку


Установить курсор на указанной строке многострочной части доку­мента.

Синтаксис:

АктивизироватьСтроку(<НомСтроки>)

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

ActivateLine

Параметры:

<НомСтроки>

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

Описание:

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

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

Пример:

Процедура ОбработкаПодбора(Выб, КонтФормы)

   Кол = 0;

   Если ВвестиЧисло(Кол, "Введите количество", 10, 0) = 1 Тогда

      НоваяСтрока();

      Товар = Выб;

      УстанЦеныРасх(Контекст);

      Количество = Кол;

      Выч_суммы_накл(Контекст);

      АктивизироватьСтроку();

      Активизировать("Цена");

   КонецЕсли;

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

См. также: ОбработкаПодбора



АктивнаяОбласть


Активизировать область таблицы.

Синтаксис:

АктивнаяОбласть(<Адрес>)

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

ActiveArea

Параметры:

<Адрес>

Необязательный параметр. Строковое выражение, за­дающее имя области или адрес в формате «R1C1:R2C2».

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

Строковое значение имени активной области или адрес в формате «R1C1:R2C2» до начала выполнения метода.

Описание:

Функция АктивнаяОбласть активизирует область таблицы.

Пример:

Таблица.АктивнаяОбласть("tabl_l");



Активный


Тип остатка по счету (активный, пассивный, активно-пассивный).

Синтаксис:

Активный

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

IsActive

Значение:

1 — счет является активным;

2 — счет является пассивным;

3 — счет является активно-пассивным;

Описание:

Атрибут содержит тип остатка счета. Счет может являться активным, (ос­татки должны быть дебетовыми), пассивным (остатки должны быть кредитов выми), активно-пассивным (остатки могут быть дебетовыми и кредитовыми).

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

По умолчанию все счета считаются активно-пассивными.

Пример:

Сч.Активный = 2;



АктивныйЭлемент


Возвращает идентификатор активного элемента диалога.

Синтаксис:

АктивныйЭлемент()

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

ActiveControl

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

Строковое значение — идентификатор активного элемента диалога.

Описание:

Метод АктивныйЭлемент возвращает идентификатор активного элемента диалога.

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

Пример:

ИдАктЭлем = Форма.АктивныйЭлемент();



Актуальность


Устанавливает флаг актуальности временного расчета.

Синтаксис:

Актуальность(<ФлагАктуальности>)

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

Actual

Параметры:

<ФлагАктуальности>

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

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

Текущее состояние флага актуальности временного расчета. Число: 1 — временный расчет поддерживается в актуальном состоянии; 0 — не поддержива­ется.

Описание:

Метод Актуальность устанавливает для объекта типа «Регистры» флаг ак­туальности временного расчета. Если флаг установлен, то все последующие движения регистров будут изменять итоги временного расчета, а значит итоги регистров временного расчета будут все время (при проведении документа) находиться в актуальном состоянии.

Внимание. Данный метод можно использовать только в модуле проведения документа.

Пример:

// стоимости берем из временного расчета

// регистра УчетРеализации

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

СпецРег.Актуальность(1);

Рег = СпецРег.УчетРеализации;

Рег.ВременныйРасчет();

СпецРег.РассчитатьРегистрыНа(ТекущийДокумент());

Рег.Товар = Товар;

Рег.Клиент = Клиент;

Рег.ОстаткиПолучить();

ТекОстаток = Рег.ОстатокТовара;

ТекСтоимость = Рег.Стоимость;

ТекПродСтоимость = Рег.ПродСтоимость;




Актуальность


Устанавливает или сбрасывает признак актуальности временных итогов.

Синтаксис:

Актуальность(<Флаг>)

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

Actual

Параметры:

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

1 — поддерживать временный расчет в актуальном состоянии;

О—не поддерживать временный расчет в актуальном состоянии;

Если параметр не задан, то значение не меняется.

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

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

Описание:

Данный метод позволяет организовать поддержку временного расчета ито­гов в актуальном состоянии. При установке объекту «БухгалтерскиеИтоги»

признака поддержки в актуальном состоянии, в нем будут отражаться все из­менения в итогах, выполняемые операциями. При этом данный актуальный объект «БухгалтерскиеИтоги» смогут автоматически использовать временные расчеты и запросы других объектов «БухгалтерскиеИтоги» с аналогичными фильтрами, что позволяет оптимизировать время расчета.

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

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

Пример:

БухИтоги.Актуальность(1);



Анализ счета


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

Процедура АнализСчета()

   Перем Запрос, ТекстЗапроса, Таб;

   //Создание объекта типа Запрос

   Запрос = СоздатьОбъект("Запрос");

   ТекстЗапроса = "//{{ЗАПРОС(Сформировать)

   |Период с ДатаС по ДатаПо;

   |Сч = Операция.Счет;

   |КорСч = Операция.КорСчет;

   |Сумма = Операция.Сумма;

   |Группировка Сч упорядочить по Сч.Код;

   |Группировка КорСч упорядочить по КорСч.Код;

   |Функция КорДо = КорДО(Сумма);

   |Функция КорКо = КорКО(Сумма);

   |Условие(Сч = ВыбСч);

   |"//}}ЗАПРОС

   ;

   // Если ошибка в запросе, то выход из процедуры

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

      Возврат;

   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса

   Таб = СоздатьОбъект("Таблица");

   Таб.ИсходнаяТаблица("Сформировать");

   // Заполнение полей "Заголовок"

   Таб.ВывестиСекцию("Заголовок");

   Состояние("Заполнение выходной таблицы...");

   Пока Запрос.Группировка("Сч") = 1 Цикл

      // Заполнение полей Сч

      Таб.ВывестиСекцию("Сч");

      Пока Запрос.Группировка("КорСч") = 1 Цикл

         // Заполнение полей КорСч

         Таб.ВывестиСекцию("КорСч");

      КонецЦикла;

   КонецЦикла;

   // Заполнение полей "Итого"

   Таб.ВывестиСекцию("Итого");

   // Вывод заполненной формы

   Таб.Опции(1, 0. 1, 0);

   Таб.Показать("Сформировать", "");

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



Англоязычные синонимы названий агрегатных типов данных


Названия агрегатных типов данных

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

Константа

Const

Справочник

Reference

Перечисление

Enum

Документ

Document

Регистр

Register

ПланСчетов

ChartOfAccounts

Счет

Account

ВидСубконто

SubcontoKind

Операция

Operation

БухгалтерскиеИтоги

BookkeepingTotals

ЖурналРасчетов

CalcJournal

ВидРасчета

CalculationKind

ГруппаРасчетов

CalculationGroup

Календарь

Calendar

Запрос

Query

Текст

Text

Таблица

Table

СписокЗначений

ValueList

ТаблицаЗначений

ValueTable

Картинка

Picture

Периодический

Рег1odic

ФС

FS

XBase

Xbase



AnsiToOem


Преобразовать строку в кодировку OEM.

Синтаксис:

AnsiToOem(<Строка>)

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

AnsiToOem

Параметры:

<Строка>

Строковое выражение.

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

Строковое значение.

Описание:

Функция AnsiToOem используется для перевода строки из Windows-кодировки в DOS-Кодировку. Результирующая строка возвращается в качестве собственного значения. Исходная строка не изменяется.

Пример:

3aгл = AnsiToOem(TeкстWin);



АрхивироватьДокумент


Предопределенная процедура обработки архивирования документа.

Синтаксис:

АрхивироватьДокумент()

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

ArchiveDocument

Описание:

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

Тело процедуры должно быть написано разработчиком конфигурации в Модуле документа, вызываемом в конфигураторе: Документ — Редактировать — Модуль документа.

Пример:

Процедура АрхивироватьДокумент()

   // Процедура выполняется при архивации документа расчета

   ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");

   Если Окончание > ЖР.КонецТекущегоПериода() Тогда

      Зарегистрировать(ТекущийДокумент());

   КонецЕсли;

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



Арифметические операции


В языке определены следующие виды арифметических операций:

сложение

(Оп1 + Оп2)

вычитание

(Оп1 - Оп2)

умножение

(Оп1 * Оп2)

деление

(Оп1 / Оп2)

остаток от деления

(Оп1 % Оп2)

унарный минус

(-Оп1)

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

Сложение определено для следующих типов операндов:

Число + Число

Дата + Число (к дате прибавля­ется число дней)

Вычитание определено для следующих типов операндов:

Число – Число

Дата – Число (от даты отнимает­ся число дней)

Дата – Дата (результатом явля­ется число дней между датами)

Умножение:

Число * Число

Деление:

Число / Число

Остаток от деления:

Число % Число

Замечание. При выполнении операции % (остаток от деления) оба операнда операции округляются до целого значения.



Атрибуты агрегатных типов данных


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

Доступ к атрибутам конкретного объекта агрегатного типа данных зависит от контекста программного модуля.

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

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

Пример:

*

Спр = СоздатьОбъект("Справочник.Сотрудники");

А = Спр.Выбрать("Выберите объект", 0);

//Выбираем наименование и оклад как атрибуты справочника

Сообщить("Выбран сотрудник " + Спр.Наименование);

Сообщить("Оклад - " + Спр.Оклад );

*

Спр = СоздатьОбъект("Справочник.Сотрудники");

А = Спр.Выбрать("Выберите объект", 0);

Док = СоздатьОбъект("Документ.ПриказНаДоплату");

Док.Новый();

// Устанавливаем атрибут НомерДок

Док.НомерДок = "777";

// Устанавливаем атрибут ДатаДок

Док.ДатаДок = '14.04.96';

Док.ТипРасчета = ВидРасчета.ДоплатаСуммой;



Атрибуты, доступные при описании внутренних переменных


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

Русское назв.

Англ. Назв.

Описание

Документ

Document

Данные документов.

Справочник

Reference

Данные справочников.

Регистр

Register

Данные регистров.

ЖурналРасчетов

CalcJournal

Данные журналов расчета.

Счет

Account

Данные счетов.

Операция

Operation

Данные бухгалтерских опера­ций и проводок.

Эти названия являются первыми в пути описания переменных. В качестве атрибутов допускается использовать любые реквизиты, которые заданы для них в конфигураторе в дереве метаданных (реквизиты для справоч­ников, документов и журналов расчетов; измерения и ресурсы для регистров). Кроме этих атрибутов, разрешен так же доступ к следующим предопределен­ным атрибутам:

Доступные атрибуты объектов типа «Документ»:

Русское назв.

Англ. Назв.

Описание

ВремяДок

DocTime

Время документа.

ДатаДок

DocDate

Дата документа.

НомерДок

DocNum

Номер документа.

НомерСтроки

LineNum

Номер строки документа.

ТекущийДокумент

CurDocument

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

Доступные атрибуты объектов типа «Справочник»:

Русское назв.

Англ.назв.

Описание

родитель

Parent

Родитель элемента многоуров­невого справочника.

Владелец

Owner

Владелец подчиненного спра­вочника.

Код

Code

Код элемента справочника.

Наименование

Description

Наименование элемента спра­вочника.

ТекущийЭлемент

CurItem

Значение текущего элемента справочника.

Доступные атрибуты объектов типа «Регистр»:

Русское назв.

Англ.назв.

Описание

НомерСтроки

LineNum

Номер строки документа, вы­полнившего движение регистра (в случае, когда в Модулях документов в конфигурации перед движением регистра ис­пользовали метод ПривязыватьСтроку).

ТекущийДокумент

CurDocument

Значение документа, выпол­нившего движение регистра.



Флаг того, что элемент плана


Доступные атрибуты объектов типа «ПланСчетов»:

Русское назв.

Англ. назв.

Описание

БезКорреспонденций

IsSingle

Флаг того, что элемент плана счетов — забалансовый.

Валютный

IsCurrency

Флаг валютного учета элемента плана счетов.

КОД

Code

Код элемента плана счетов.

Количественный

Is Amount

Флаг количественного учета элемента плана счетов.

Наименование

Description

Наименование элемента плана счетов.

ТекущийСчет

CurAccount

Значение текущего счета плана счетов.

Доступные атрибуты объектов типа «Операция»:

Русское назв.

Англ. Назв.

Описание

ВремяОперации

OperTime

Время операции.

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

OperDate

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

Содержание

Description

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

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

OperSum

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

ТекущийДокумент

CurDocument

Значение документа создавше­го операцию.

Доступные атрибуты объектов типа «Проводка»:

Русское назв.

Англ. назв.

Описание

ВалСумма

CurSum

Валютная сумма проводки (для счетов с валютным учетом).

Валюта

Currency

Валюта проводки.

Количество

Amount

Количество проводки (для сче­тов с количественным учетом).

КорСчет

CorAccount

Корреспондирующий счет. Корреспондирующим счетом, для которого является Счет.

Сумма

Sum

Сумма проводки.

Счет

Account

Счет, для обработки коррес­понденции. Корреспондирую­щим счетом, для которого яв­ляется КорСчет.

Пример:

*

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса = "//{{ЗАПРОС(Сформировать)

|Период с НачДата по КонДата;

|ДОКУМ = Документ.РасходнаяБН.ТекущийДокумент,

|   Документ.РасходнаяКредит.ТекущийДокумент,

|   Документ.РасходнаяНал.ТекущийДокумент,

|   Документ.РасходнаяРеализ.ТекущийДокумент,

|   Документ.Счет.ТекущийДокумент;

|Группировка ДОКУМ; //по документам

|"//}}ЗАПРОС

;

*

//Создание объекта типа Запрос

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(Печать)

|Товар = Справочник.Товары.ТекущийЭлемент;

|Группировка Товар Упорядочить по Товар.МинЗапас;

|"//}}ЗАПРОС

*

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС(Сформировать)

|Период с НачДата по КонДата;

|ВидТоплива = Регистр.ПокупателиКолво.ВидыТоплива;

|Вес = Регистр.ПокупателиКолво.Кг;

|Покуп = Регистр.ПокупателиКолво.Покупатели;

|Док = Регистр.ПокупателиКолво.ТекущийДокумент;

|Ном = Регистр.ПокупателиКолво.НомерСтроки;

|Группировка ВидТоплива; //по измерению Регистра

|Группировка Док; // по документам, двигавшим Регистр

|Группировка Ном; // по номерам строк документов

|Функция ВсегоКолво = КонОст(Вес);

|Функция ПриходКолво = Приход(Вес);

|Условие(Покуп = ВыбПокупатель);

|"//}}ЗАПРОС

;


Атрибуты и методы объекта «Метаданные»


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

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

Пример:

ВыбМетодУдаления=Метаданные.НепосредственноеУдалениеОбъектов;

У объекта «Метаданные» могут существовать методы для доступа к масси­вам подчиненных метаданных. Например, для глобального атрибута «Метадан­ные» для обращения к документам используется метод «Документ».

В качестве параметра методов для доступа к массивам подчиненных мета­данных передается:

число — выдает объект метаданных по указанному номеру;

строка — выдает объект метаданных по указанному идентификатору;

параметр не указан — выдает количество подчиненных объектов этого типа.

Пример получения списка документов конфигурации:

Для Инд = 1 По Метаданные.Документ() Цикл

   Сообщить(Метаданные.Документ(Инд).Идентификатор);

КснецЦикла;

У объекта типа «Метаданные» могут существовать атрибуты, содержащие массив ссылок на объекты метаданных, к ним применяются методы Количество() и Получить(Ном) для перебора ссылок. Например, для граф отбора таким атрибутом является атрибут «Ссылки», позволяющий получить объекты метаданных включенные в данную графу отбора (реквизиты докумен­тов и др.).

Пример:

Для Инд = 1 До Метаданные.ГрафаОтбора(Идент).Ссылки.Количество() Цикл

   Сообщить(Метаданные.ГрафаОтбора(Идент).

              Ссылки.Получить(Инд).ПолныйИдентификатор());

КонецЦикла;



Атрибуты и методы области таблицы в режиме ввода данных


При работе с областью таблицы в режиме ввода данных не может использо­ваться метод Расшифровка, а также метод Объединить.

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



Атрибуты и методы таблицы в режиме ввода данных


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

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



Атрибуты контекста Модуля формы журнала документов


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



Атрибуты объекта и поля базы данных


Объекты XBase имеют динамически изменяемый набор атрибутов, состав и тип которых зависит от структуры файла базы данных, с которым связан кон­кретный объект. Объект содержит в своих атрибутах информацию об одной текущей записи. Каждому полю файла базы данных соответствует один атрибут объекта. Наименование атрибута совпадает с именем поля.



Атрибуты системы 1С:Предприятие как OLE Automation сервера


Система 1С:Предприятие в качестве OLE Automation сервера предоставляет полный доступ к своему глобальному контексту (см. «Контекст выполнения программного модуля»). Поэтому объект OLE-сервер 1С:Предприятие в каче­стве своих атрибутов может иметь: системные константы, значения заданных в конфигураторе констант, перечислений, регистров, видов расчета, групп видов расчета, а также переменные, объявленные в глобальном программном модуле с ключевым словом Экспорт.



Атрибуты запросов


Атрибутами запроса являются объявленные в описании запроса внутренние переменные (см. главу «Язык запросов»), имена группировок и функций за­проса. Все атрибуты запросов — только для чтения.

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



АтрибутыФайла


Возвращает атрибуты файла.

Синтаксис:

АтрибутыФайла(<ИмяФайла>, <РазмерФайла> , <АтрибутыФайла>, <ВремяСоздания>,

            <ВремяПоследнДоступа>, <ВремяПоследнЗаписи>, <РасширенноеИмяФайла>)

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

GetFileAttr

Параметры:

<ИмяФайла>

Строковое выражение с именем файла.

<РазмерФайла>

Возвращаемое Числовое значение размера файла в байтах.

<АтрибутыФайла>

Возвращаемое строковое значение длиной 9 символов, в котором закодированы атрибуты файла. Символы могут принимать значения "0" или "1":

Первый символ: если "1" — файл только для чтения;

Второй символ: если "1" — скрытый файл;

Третий символ: если "1" — системный файл;

Четвертый символ: если "1" — каталог;

Пятый символ: если "1" — архивный файл;

Шестой символ: если "1" — обычный файл (все другие атрибуты не установлены);

Седьмой символ: если "1" — временный файл;

Восьмой символ: если " 1" — файл, сжатый каким-либо архиватором;

Девятый символ: если "1" — нет доступа к файлу.

Для проверки атрибута можно применять вы­ражение:

Цел(ПолученныйАтрибут/КодАтрибута)/2

где кодАтрибута — 1/2/4/16/32...

это выражение возвращает 1 или 0, в зависи­мости от того, установлен атрибут или нет.

<ВремяСоздания>

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

<ВремяПоследнДоступа>

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

<ВремяПоследнЗаписи>

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

<РасширенноеИмяФайла>

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

Описание:

Метод АтрибутыФайла считывает атрибуты файла и записывает их значе­ния в передаваемые параметры.

Пример:

* В данном примере приведена процедура считывания атрибутов файла.,

Лроцедура АттрФ()

   ФС.АтрибутыФайла(ИмяВыбрФайла, A, B, C, D, E, F);

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



Автосохранение


Установить режим автоматического сохранения изменений в базе.

Синтаксис:

Автосохранение(<Режим>)

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

AutoSave

Параметры:

<Режим>

Необязательный параметр. Числовое выражение: 1 — установить режим автоматического сохранения изме­нений в базе. 0 — снять режим.

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

Текущее числовое значение режима автоматического сохранения изменений в базе (на момент до исполнения метода).

Описание:

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

При установленном режиме автосохранения любые изменения позициони­рования объекта приводит к автоматической записи изменений атрибутов (если они происходили с текущей записью) в базу данных. Таким образом, примене­ние метода Записать не имеет смысла при установленном режиме автосохра­нения. Чтобы отказаться от записи изменений в базу данных следует вызвать метод Отменить — при этом восстанавливаются значения атрибутов объекта до изменений и запись не происходит при изменении позиционирования.

При сброшенном режиме автосохранения записи при изменении позицио­нирования не происходит — для этого нужно вызвать метод Записать, причем до выполнения позиционирования. В этом режиме не имеет смысла метод Отменить, т. к. достаточно просто не выполнять записи.

Пример:

ДБФ.Автосохранение(1);

ДБФ.Новая();

ДБФ.РЮ = "Иванов";

ДБФ.PHONE = 215;

ДБФ.Новая();   // Произошла запись

ДБФ.FIO = "Петров";

ДБФ.PHONE = 215;

ДБФ.Отменить();

ДБФ.Новая(); // Записи не произошло

ДБФ.Автосохранение(0);

ДБФ.FIO = "Петров";

ДБФ.PHONE = 314;

ДБФ.Записать(); // Произошла запись

ДБФ.Новая();

ДБФ.FIO = "Сидоров";

ДБФ.PHONE = 215;

ДБФ.Новая(); // Записи не произошло



АвтоУстановкаИменСерий


Автоматическая установка имен серий.

Синтаксис:

АвтоУстановкаИменСерий(<флаг>)

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

AutoSeriesLabels

Параметры:

<Флаг>

Числовое значение: 1 — разрешающий. 0 — запре­щающий автогенерацию имен серий.

Описание:

Метод АвтоУстановкаИменСерий устанавливает режим автогенерации имен серий диаграммы. В случае, если автогенерация имен разрешена, сериям диаграммы будут автоматически присваиваться имена Серия1, Серия2, ..., Се-рияN. По умолчанию автогенерация запрещена.

Пример:

Диаграмма.АвтоУстановкаИменСерий(1);



АвтоУстановкаИменТочек


Автоматическая установка имен точек.

Синтаксис:

АвтоУстановкаИменТочек(<флаг>)

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

AutoPointLabels

Параметры:

<Флаг>

Числовое значение: 1 — разрешить автогенерацию имен точек. 0 — запретить автогенерацию имен точек.

Описание:

Метод АвтоУстановкаМменТочек устанавливает режим автогенерации имен точек диаграммы. В случае, если автогенерация имен разрешена, точкам диаграммы будут автоматически присваиваться имена 1, 2, ..., N. По умолчанию автогенерация запрещена.

Пример:

Диаграмма.АвтоУстановкаИменТочек(1);



АвтоВремяКонецДня


Установить новому документу время на конец дня.

Синтаксис:

АвтоВремяКонецДня()

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

AutoTimeEndOfDay

Описание:

Метод АвтоВремяКонецДня устанавливает режим, при котором новому документу записывается время на конец дня.

Замечание. Для новых документов в модуле формы доступно использование методов установки признака авто-формирования времени документа и собственно установки времени. Если эти методы использованы, то диалог запроса времени не вызывается и игнорируются пользовательские уста­новки в параметрах системы.

Пример:

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



АвтоВремяНачалоДня


Установить новому документу время на начало дня.

Синтаксис:

АвтоВремяНачалоДня()

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

AutoTimeBegOfDay

Описание:

Метод АвтоВремяНачалоДня устанавливает режим, при котором новому документу записывается время на начало дня.

Замечание. Для новых документов в модуле формы доступно использование методов установки признака авто-формирования времени документа и собственно установки времени. Если эти методы использованы, то диалог запроса времени не вызывается и игнорируются пользовательские уста­новки в параметрах системы.

Пример:

Процедура УстВремяДок(Док, Режим)

   Если Режим = "Начало" Тогда

      Док.АвтоВремяНачалоДня();

   ИначеЕсли Режим = "Конец" Тогда

      Док.АвтоВремяКонецДня();

   ИначеЕсли Режим = "Текущее" Тогда

      Док.АвтоВремяТекущее();

   Иначе

      Док.АвтоВремяОтключить();

   КонецЕсли;

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



АвтоВремяОтключить


Отключает режим автоматической установки времени документа.

Синтаксис:

АвтоВремяОтключить()

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

AutoTimeOff

Описание:

Метод АвтоВремяОтключить отключает режим автоматической установки времени нового документа, при этом новые документы заносятся с временем устанавливаемым при помощи метода УстановитьВремя.

Замечание. Для новых документов в модуле формы доступно использование методов установки признака авто-формирования времени документа и собственно установки времени. Если эти методы использованы, то диалог запроса времени не вызывается и игнорируются пользовательские уста­новки в параметрах системы.

Пример:

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

См. также: УстановитьВремя



АвтоВремяПослеТА


Установить новому документу время после ТА.

Синтаксис:

АвтоВремяПослеТА()

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

AutoTimeAfterAP

Описание:

Метод АвтоВремяПослеТА устанавливает режим, при котором, если совпа­дает дата документа с датой ТА, то новому документу автоматически записыва­ется время после ТА. Метод исполняется только если установлена компонента оперативный учет.

Замечание. Для новых документов в модуле формы доступно использование методов установки признака авто-формирования времени документа и собственно установки времени. Если эти методы использованы, то диалог запроса времени не вызывается и игнорируются пользовательские уста­новки в параметрах системы.

Пример:

Процедура УстВремяДок(Док, Режим)

   Если Режим = "Начало" Тогда

      Док.АвтоВремяНачалоДня();

   ИначеЕсли Режим = "Конец" Тогда

      Док.АвтоВремяКонецДня();

   ИначеЕсли Режим = "Текущее" Тогда

      Док.АвтоВремяТекущее();

   ИначеЕсли Режим = "ПослеТА" Тогда

      Док.АвтоВремяПослеТА();

   Иначе

      Док.АвтоВремяОтключить();

   КокецЕсли;

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



АвтоВремяТекущее


Установить новому документу текущее время.

Синтаксис:

АвтоВремяТекущее()

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

AutoTimeCurrent

Описание:

Метод АвтоВремяТекущее устанавливает режим, при котором новому до­кументу записывается текущее время.

Замечание. Для новых документов в модуле формы доступно использование методов установки признака авто-формирования времени документа и собственно установки времени. Если эти методы использованы, то диалог запроса времени не вызывается и игнорируются пользовательские уста­новки в параметрах системы.

Пример:

Процедура УстВремяДок(Док, Режим)

   Если Режим = "Начало" Тогда

      Док.АвтоВремяНачалоДня();

   ИначеЕсли Режим = "Конец" Тогда

      Док.АвтоВремяКонецДня();

   ИначеЕсли Режим = "Текущее" Тогда

      Док.АвтоВремяТекущее();

   Иначе

      Док.АвтоВремяОтключить();

   КонецЕсли;

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



Автозаполнение


Выполняет автозаполнение календаря в заданном периоде.

Синтаксис:

Автозаполнение(<ДатаНачала>, <ДатаОкончания>)

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

Autolayout

Параметры:

<ДатаНачала>

Дата начала периода автозаполнения.

<ДатаОкончания>

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

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

Число: 1 — получилось; 0 — не получилось.

Описание:

Метод Автозаполнение выполняет автозаполнение календаря в заданном периоде. При этом старые данные (в т.ч. «ручные» исправления) в указанном периоде пропадают.

Пример:

// Календарь служащих

Календ = СоздатьОбъект("Календарь.Служащие");

Календ.УчитыватьПраздники(1);

Результат = Календ.Автозаполнение(ДатаНачала, ДатаОкончания);

См. также: УчитыватьПраздники



Базовые типы данных


В языке поддерживаются следующие базовые типы данных:

числовой;

строковый;

дата.

Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции.

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

Типом дата может представляться любая корректная дата.



Без итогов


Не накапливать итоги по группировкам.

Синтаксис:

Без итогов;

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

Without Totals;

Описание:

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

В случае применения данного оператора в тексте запроса, при обходе ре­зультатов запроса применяется только один цикл обхода, используя метод объ­екта «Запрос» Группировка() без параметра.

Пример:

Запрос = СоздатьОбъект("Запрос");

Текст3апроса = "

...

|Группировка Товар;

|Группировка Склад;

|Без Итогов; ";

Если Запрос.Выполнить(ТекстЗапроса) = 1 Тогда

   Возврат;

КонецЕсли;

Пока Запрос.Группировка() = 1 Цикл

   ...

КонецЦикла;

Замечание. Если в тексте запроса используется группировка по многоуровне­вому справочнику и не указано "Без Групп", то итоги по группам спра­вочника будут накапливаться. Другими словами, если в запросе не нужны итоги по группам справочника, то в тексте запроса кроме использования оператора "Без Итогов" дополнительно следует в операторах "Группировка ..." использовать ключевое слово "Без Групп".



БИ


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

Синтаксис:

БИ

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

AT

Описание:

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

Пример:

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

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

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



Блокировка


Установить/прочитать режим блокировки.

Синтаксис:

Блокировка(<ВклВыкл>)

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

Locking

Параметры:

<ВклВыкл>

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

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

Если при вызове метода параметр <ВклВыкл> не задан, то возвращается режим блокировки до выполнения метода. Число: 1 — заблокирован; 0 — свобо­ден.

Если при вызове метода параметр <ВклВыкл> задан, то возвращается ре­зультат выполнения метода блокировки. Число: 1 — успешно; 0 — не получи­лось.

Описание:

Метод Блокировка позволяет установить/прочитать режим блокировки. Пример:

Блокировка(0);



Блокировка


Установить/прочитать режим блокировки.

Синтаксис:

Блокировка(<ВклВыкл>)

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

Locking

Параметры:

<ВклВыкл>

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

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

Если при вызове метода параметр <ВклВыкл> не задан, то возвращается режим блокировки до выполнения метода. Число: 1 — заблокирован; 0 — свобо­ден.

Если при вызове метода параметр <ВклВыкл> задан, то возвращается ре­зультат выполнения метода блокировки. Число: 1 — успешно; 0 — не получи­лось.

Описание:

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

Пример:

Блокировка(0);



Блокировка


Установить/прочитать режим блокировки.

Синтаксис:

Блокировка(<ВклВыкл>)

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

Locking

Параметры:

<ВклВыкл>

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

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

Если при вызове метода параметр <ВклВыкл> не задан, то возвращается Режим блокировки до выполнения метода. Число: 1 — заблокирован; 0 — свобо­ден.

Если при вызове метода параметр <ВклВыкл> задан, то возвращается ре­зультат выполнения метода блокировки. Число: 1 — успешно; 0 — не получи­лось.

Описание:

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

Пример:

Блокировка(0);



Цел


Получить целую часть числа.

Синтаксис:

Цел(<Число>)

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

Int

Параметры:

<Число>

Числовое выражение.

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

Числовое значение целой части переданного в качестве параметра числа.

Описание:

Функция Цел возвращает целую часть переданного в качестве параметра числа, полностью отсекая дробную часть.

Пример:

МожноКупить = Цел(Наличность/Цена);



Часов


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

Синтаксис:

Часов(<ДатаНачала>, <ДатаОкончания>)

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

Hours

Параметры:

<ДатаНачала>

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

<ДатаОкончания>

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

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

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

Описание:

Метод предназначен для суммирования числовых значений по календарю за промежуток времени с даты начала по дату окончания. Метод удобен при ин­терпретации числовых значений календаря как продолжительности рабочих дней в часах (что отражается в названии метода). <ДатаНачала> и <ДатаОкончания> включаются в рассматриваемый период. Если <ДатаНачала> больше, чем <ДатаОкончания>, будет выведено сообщение об ошибке.

Пример:

// Расчет оплаты по часовому тарифу

// Календарь рабочих

Календ = СоздатьОбъект("Календарь.Рабочие");

// отработал...

Чс = Календ.Часов(ДатаНачала, ДатаОкончания);

// должен был бы работать...

Норма = Календ.Часов(НачалоПериодаПоДате(ДатаНачала),

                     КонецПериодаПоДате(ДатаНачала));

// получим тариф сотрудника на дату начала действия данного расчета

Тариф = Объект.Тариф.Получить(ДатаНачала);

// результат

Результат = Чс * Тариф / Норма;

См. также: Дней



Число


Преобразовать параметр в число.

Синтаксис:

Число(<Параметр>)

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

Number

Параметры:

<Параметр>

Выражение.

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

Числовое значение.

Описание:

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

Пример:

ВР = Число(Вар + Род);



Числовые константы


Константа числового типа представляется в виде:

[‘+’| ‘-’]{‘0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’}[.{‘0’|’1’|’2’|’3’|’4’|’5’|’6’|’7’|’8’|’9’}]

Пример:

0   123      -15      +24.11      0.245



Что такое программный модуль?


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

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

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



CreateObject


Создает объект агрегатного типа данных системы 1С:Предприятие и возвращает ссылку на него.

Синтаксис:

CreateObject(<ИмяАгрегатногоТипа>)

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

CreateObject

Параметры:

<ИмяАгрегатногоТипа>

Строковое выражение, значение которого со­держит имя агрегатного типа данных, объявлен­ного в конфигураторе.

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

Ссылка на созданный объект агрегатного типа данных.

Описание:

Метод CreateObject создает объект агрегатного типа данных системы 1С:Предприятие и возвращает ссылку на него. Данная функция обычно ис­пользуется одновременно с неявным определением переменной и присвоением ей ссылки на объект агрегатного типа данных.

Пример:

Процедура Загрузить()

   Если ФС.Существуетфайл(Путь + "\NUL") = 0 Тогда

      Предупреждение("Путь информационной базы не найден!");

   Иначе

      V7 = СоздатьОбъект("V77.Application");

      Открыта = V7.Initialize(V7.RMTrade, "/d" + Путь +

                              " /M /N" + Пользователь, "");

      Если Открыта = 0 Тогда

         Предупреждение("Ошибка открытия информационной базы");

         Возврат;

      КонецЕсли;

      Импорт = V7.CreateObject("Справочник.Контрагенты");

      Импорт.ВыбратьЭлементы();

      Пока Импорт.ПолучитьЭлемент() = 1 Цикл

         Если Импорт.ЭтоГруппа() = 0 Тогда

            Сообщить(Импорт.Наименование);

         КонецЕсли;

      КонецЦикла;

   КонецЕсли;

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



Цвет


Установка режима отображения цвета.

Синтаксис 1:

Цвет(<Цвет>)

Синтаксис 2:

Цвет(<R>, <G>, <В>)

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

Color

Параметры:

<Цвет>

Необязательный параметр. Числовое выражение, значение которого задает RGB цвет. Допустимые значения от 0 до 16'777'215. Значение -1 (минус единица) задает цвет, задан­ный для всей формы по умолчанию.

<R>

Числовое выражение, значение которого задает красную компоненту цвета. Допустимые значения от 0 до 255.

<G>

Числовое выражение, значение которого задает зеленую компоненту цвета. Допустимые значения от 0 до 255.

<В>

Числовое выражение, значение которого задает синюю ком­поненту цвета. Допустимые значения от 0 до 255.

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

Текущее числовое значение RGB-цвета элемента формы (на момент до ис­полнения метода).

Описание:

Метод Цвет позволяет установить режим отображения цвета выбранного элемента формы.

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

Пример:

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

   Если (Наименование = "") Тогда

      Форма.Название.Цвет(255, 0, 0);

   Иначе

      Форма.Название.Цвет(-1);

   КонецЕсли

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



ЦветФона


Получить/установить режим отображения цвета фона области.

Синтаксис 1:

ЦзетФона(<Цвет>)

Синтаксис 2:

ЦветФона(<R>, <G>, <B>)

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

BackgroundColor

Параметры:

<Цвет>

Необязательный параметр. Числовое выражение, зна­чение которого задает RGB цвет. Допустимые значения от 0 до 16777'215. Значение -1 (минус единица) задает цвет, заданный для всей области по умолчанию.

<R>

Числовое выражение, значение которого задает крас­ную компоненту цвета. Допустимые значения от 0 до 256.

<G>

Числовое выражение, значение которого задает зеле­ную компоненту цвета. Допустимые значения от 0 до 256.

<B>

Числовое выражение, значение которого задает синюю компоненту цвета. Допустимые значения от 0 до 256.

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

Текущее числовое значение RGB-цвета фона области (на момент до испол­нения метода).

Описание:

Метод ЦветФона позволяет установить режим отображения цвета фона об­ласти.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R8C4");

ВыбОбласть.Шрифт("Arial");

ВыбОбласть.РазмерШрифта(10);

ВыбОбласть.Подчеркнутый(1);

ВыбОбласть.ГоризонтальноеПоложение(3);

ВыбОбласть.Контроль(4);

ВыбОбласть.ЦветФона(34, 126, 211);



ЦветРамки


Получить/установить режим отображения цвета рамки области.

Синтаксис 1:

ЦветРамки(<Цвет>)

Синтаксис 2:

ЦветРамки(<R>, <G>, <В>)

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

BorderColor

Параметры:

<Цвет>

Необязательный параметр. Числовое выражение, зна­чение которого задает RGB цвет. Допустимые значения от 0 до 16777'215. Значение -1 (минус единица) задает цвет, заданный для всей области по умолчанию.

<R>

Числовое выражение, значение которого задает крас­ную компоненту цвета. Допустимые значения от 0 до 256.

<G>

Числовое выражение, значение которого задает зеле­ную компоненту цвета. Допустимые значения от 0 до 256.

<B>

Числовое выражение, значение которого задает синюю компоненту цвета. Допустимые значения от 0 до 256.

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

Текущее числовое значение RGB-цвета рамки области (на момент до ис­полнения метода).

Описание:

Метод ЦветРамки позволяет установить режим отображения цвета рамки области.

Пример:

Таб = СоздатьОбъект("Таблица");

Таб.Открыть("tabl_l.mxl");

ВыбОбласть = Таб.Область("R8C4");

ВыбОбласть.Шрифт("Arial");

ВыбОбласть.РазмерШрифта(10);

ВыбОбласть.Подчеркнутый(1);

ВыбОбласть.ГоризонтальноеПоложение(3);

ВыбОбласть.Контроль(4);

ВыбОбласть.ЦветРамки(34, 126, 211);



ЦветСерии


Устанавливает цвет серии.

Синтаксис:

ЦветСерии(<НомерСерии>, <Красный>, <3еленый>, <Синий>)

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

SetSeriesColor

Параметры:

<НомерСерии>

Числовое выражение, которое задает номер серии, для которой устанавливается цвет.

<Красный>

Число, задающее красную компоненту цвета.

<3еленый>

Число, задающее зеленую компоненту цвета.

<Синий>

Число, задающее синюю компоненту цвета.

Описание:

Метод ЦветСерии устанавливает RGB цвет для серии <НомерСерии>. По умолчанию первые 54 серии имеют уникальный цвет. Серии с большими номе­рами изображаются в диаграмме повторяя уже использованный цвет, но пере­стают окрашиваться сплошным цветом, используя более сложный способ за­ливки.

Пример:

Диаграмма.ЦветСерии(1, 35, 67, 89);