Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang1.doc
Скачиваний:
13
Добавлен:
20.11.2019
Размер:
2.43 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

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

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

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

Иначе

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

КонецЕсли;

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

Сотр=0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]