Агрегатные типы данных
Агрегатные типы данных — это специализированные типы данных системы 1С:Предприятие, суть которых — отражение объектов предметной области и способ работы с ними.
Работа с агрегатными типами данных имеет существенные отличия от работы с обычными базовыми типами данных. Конкретные значения существующих агрегатных типов данных могут быть определены в программном модуле двумя способами:
некоторые значения заранее известны в программном модуле из его глобального и локального контекста;
другие значения могут быть определены с помощью системной функции СоздатьОбъект, которой в качестве параметра передается строка с именем агрегатного типа данных, созданного в конфигураторе.
Каждый агрегатный тип данных, как правило, имеет набор атрибутов и методов.
Атрибуты по свойствам напоминают переменные, т. е. им можно присваивать или читать их значения.
Методы — это те действия, которые может выполнять агрегатный тип данных. Методы могут иметь или не иметь возвращаемое значение. Если метод имеет возвращаемое значение, то он может размещаться в правой части оператора присваивания, в выражениях, в описании фактических параметров других вызываемых методов, процедур или функций.
Замечание. В тексте программного модуля вызов любого метода можно записывать отдельным оператором программы (как вызов процедуры) даже в том случае, если метод имеет возвращаемое значение. Другими словами, в языке допускается игнорировать возвращаемое значение.
Замечание. Работа с агрегатными типами данных языка напоминает работу с объектными типами в Visual Basic. Атрибуты агрегатного типа данных — аналогичны свойствам объектного типа в Visual Basic. Методы — аналогичны методам объектного типа в VisualBasic.
Замечание. При конфигурировании агрегатных типов данных, например Справочников, Документов, Регистров и т. п. не рекомендуется использовать в качестве идентификаторов создаваемых рекизитов существующие термины названий атрибутов и методов объектов.
Типичная последовательность работы с объектом агрегатного типа данных выглядит следующим образом:
с помощью функции СоздатьОбъект создается объект агрегатного типа данных, и какой-либо переменной присваивается ссылка на него;
объект позиционируется на нужном элементе данных;
производятся различные манипуляции с объектом агрегатного типа данных через вызовы методов и обращения к его атрибутам.
в случае, если объект агрегатного типа данных больше не нужен, он может быть отсоединен от переменной посредством переприсваивания переменной какого-либо значения базового типа (например, числа 0). Отсоединение объекта выполнять не обязательно.
Пример:
// Создаем объект типа "справочник.Сотрудники"
Сотр = СоздатьОбъект("Справочник.Сотрудники");
// Позиционируем созданный объект Сотр по известному наименованию
Сотр.НайтиПоНаименованию("Петров");
Если Сотр.Выбран() = 1 Тогда
// если сотрудник найден, отобразим его оклад
Предупреждение("Оклады" + Сотр.Оклад);
Иначе
Предупреждение("Петров не найден" + " !!!");
КонецЕсли;
// отсоединяем объект
Сотр=0;
Замечание. Объект, созданный при помощи функции. СоздатьОбъект, изначально не определен, т. е. не содержит никакого конкретного значения. Чтобы начать с ним работать, его предварительно надо позиционировать (установить на конкретный документ или элемент справочника). Для документов позиционирование выполняется при помощи методов НайтиДокумент, НайтиПоНомеру, ПолучитьДокумент. Для справочников позиционирование выполняется при помощи методов НайтиЭлемент, НайтиПоКоду, ПолучитьЭлемент.
Замечание. Следует понимать, что в случае, если значение переменной, содержащей ссылку на объект агрегатного типа данных, присвоить другой переменной, то это не означает создание нового объекта, просто другая переменная будет содержать ссылку на тот же объект. Новые объекты создаются только с помощью обращения к функции СоздатьОбъект. Удаление объекта производится самой системой после того, когда не остается ни одной переменной, содержащей ссылку на объект.
Агрегатными типами данных называются следующие типы данных:
Константа — средство работы с постоянными (или условно постоянными) значениями. В константах хранится информация, которая не изменяется или изменяется достаточно редко. Например, название организации, почтовый адрес. Перечень констант, доступный в конкретной конфигурации, их названия и тип определяются в конфигураторе.
Справочник — средство для ведения списков однородных элементов данных. Помимо наименования элементов данных, списки могут содержать различную дополнительную информацию. Физическим аналогом справочника может являться картотека. Каждая карточка — это элемент справочника, а сведения, заносимые в карточку, являются реквизитами справочника. Перечень справочников, доступных в конкретной конфигурации, их названия и реквизиты определяются в конфигураторе.
Перечисление — средство работы с элементами данных, список возможных значений которых жестко задан (например, для перечисления «ФормаОплаты» можно задать возможные значения: «Нал», «Безнал»). В отличие от справочников, списки значений в перечислении задаются в процессе их создания в конфигураторе и при выполнении задачи не могут быть изменены. Состав перечислений, доступных в конкретной конфигурации, их названия и допустимые значения определяются в конфигураторе.
Документ — средство для ввода первичной информации о совершаемых хозяйственных операциях. Перечень документов, доступных в конкретной конфигурации, их названия, реквизиты и другие свойства определяются в конфигураторе.
Регистр — средство обработки и накопления сводной информации оперативного учета. Перечень регистров, доступных в конкретной конфигурации, их названия, измерения, ресурсы и другие свойства определяются в конфигураторе. (Регистры доступны только при наличии компоненты «Оперативный учет»)
ПланСчетов является служебным типом данных. Он предназначен для идентификации Плана счетов, созданного в метаданных. В основном он используется для передачи в качестве параметра различным процедурам и функциям компоненты «Бухгалтерский учет» и для выбора плана счетов в формах. Тип значения «ПланСчетов» не поддерживает никаких данных в информационной базе, а список возможных значений этого типа данных определен планами счетов созданными в конфигурации. Значения типа «ПланСчетов» могут выступать как реквизиты диалога формы, как реквизиты документов, справочников и т. д. Для получения значения такого типа данных используется глобальный атрибут ПланыСчетов, который имеет в свою очередь набор атрибутов типа «ПланСчетов» соответсвующих имеющимся в конфигурации планам счетов. Кроме того, глобальный атрибут ПланыСчетов имеет методы для обхода всех существующих планов счетов. (Данные типа ПланСчетов доступны только при наличии компоненты «Бухгалтерский учет»)
Счет — это агрегатный тип данных для доступа к объектам данных — бухгалтерским счетам. Бухгалтерские счета используются компонентой «Бухгалтерский учет» системы 1С:Предприятие для идентификации разрезов синтетического учета наличия и движения средств. В общем виде смысл типа данных «Счет» вполне соответвует общепринятому понятию «Счет» в бухгалтерском учете. В конфигурации системы может быть создано несколько планов счетов. План счетов является фактически видом для значений типа «Счет». Например, реквизит типа «Счет» некоторого диалога может иметь конкретный вид (относиться к конкретному плану счетов) или быть неопределенного вида — то есть принимать значение различных планов счетов. (Данные типа Счет доступны только при наличии компоненты. «Бухгалтерский учет»)
ВидСубконто является служебным типом данных. Он предназначен для идентификации Вида субконто, созданного в метаданных. В основном он используется для передачи в качестве параметра различным процедурам и функциям компоненты «Бухгалтерский учет» и для выбора вида субконто в формах. Список возможных значений этого типа данных определен видами субконто, созданными в конфигурации. Значения типа «ВидСубконто» могут выступать как реквизиты диалога формы, как реквизиты документов, справочников и т. д. Для получения значения такого типа используется глобальный атрибут ВидыСубконто, который имеет в свою очередь набор атрибутов типа «ВидСубконто» соответствующих имеющимся видам субконто. Кроме того, глобальный атрибут ВидыСубконто имеет методы для обхода всех существующих видов субконто. (Данные типа ВидСубконто доступны только при наличии компоненты «Бухгалтерский учет»)
Операция — средство для манипулирования из встроенного языка данными бухгалтерских операций и проводок формируемых документом. Так как проводки в системе 1С:Предприятие принадлежат операциям, то управление и операциями и проводками выполняется объектом «Операция». (Данные типа Операция доступны только при наличии компоненты «Бухгалтерский учет»)
Активизировать
Установить курсор на выбранный элемент диалога.
Синтаксис:
Активизировать(<ИмяРеквизита>, <Режим>)
Англоязычный синоним:
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);
Рег = СпецРег.УчетРеализации;
Рег.ВременныйРасчет();
СпецРег.РассчитатьРегистрыНа(ТекущийДокумент());
Рег.Товар = Товар;
Рег.Клиент = Клиент;
Рег.ОстаткиПолучить();
ТекОстаток = Рег.ОстатокТовара;
ТекСтоимость = Рег.Стоимость;
ТекПродСтоимость = Рег.ПродСтоимость;
This site is hosted for FREE on VirtualAve -- yours can be, too! Click here for more information.
Актуальность
Устанавливает или сбрасывает признак актуальности временных итогов.
Синтаксис:
Актуальность(<Флаг>)
Англоязычный синоним:
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);