Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование на платформе 1С Предприятие. Учебное пособие
.pdf
51
У них есть общее свойство - в платформе 1С мы не можем,
как разработчики, самостоятельно изобрести тот или иной объект, мы можем довольствоваться только тем, что нам предоставили разработчики платформы. Мы можем создать разные справочники, разные документы, разные таблицы значений и списки значений, но не можем придумать какой-то свой объект и с ним работать. В этом есть плюс, и есть минус. Минус в том, что мы ограничены функционалом платформы 1С и вынуждены с ним работать. Плюс в том, что любое приложение, разработанное на
платформе 1С, стандартизировано и нам не придётся разбираться
в том, что придумал тот или иной разработчик.
Объект (например, объект "автомобиль") в языке программирования – это некоторая сущность, обладающая Свойствами
(например, объем двигателя, коробка передач), над которой можно свершать различные манипуляции посредством методов
(например, изменять скорость, переключать передачи, заливать
бензин).
Пользователь программы 1С работает не с самим объектом,
а с экземпляром объекта (например, автомобиль может купить
Вася, Петя и у каждого из них будет свой Экземпляр объекта автомобиль), который он может создать либо самостоятельно, либо
с помощью программного кода, написанного разработчиком.
У объектов есть свойства, методы и события.
Свойство объекта – это поле, которое может содержать
какую-то информацию, связанную с этим объектом (например,
реквизит). Это поле может быть доступно для записи (можно записать какую-то информацию в это поле) и для чтения (информацию можно прочитать из этого поля), или просто для чтения.
Причем, информация в свойстве объекта связана не с самим объектом, а с его экземпляром.
Метод объекта – это процедура или функция, которая выполняет или какое-то действие над экземпляром этого объекта,
или возвращает информацию о состоянии экземпляра этого
объекта. У объектов метаданных разработчик может создать собственные свойства и методы, а у общих объектов и у универсальных коллекций значений можно довольствоваться только теми
свойствами и методами, которые предоставляет платформа 1С.

52
Событие – это процедура, которая позволяет перехватить
какое-то событие над этим объектом, и или доработать это событие, или отменить его.
Каким образом можно прочитать свойства объекта (реквизиты, таблицы) или исполнить тот или иной метод? В общей схеме, касательно языка 1С, это будет выглядеть так:
Свойство пишем без скобок, мы можем присвоить ему
какое-нибудь значение, а можем и просто прочитать. Если свойство закрыто от редактирования, то можем его только прочитать.
Это выглядит так. Присваиваем свойству значение
Читаем значение из свойств:
В первом случае мы присваиваем какому-нибудь свойству
строковое значение, причем свойство должно быть тоже строкового типа, иначе оно просто не присвоится.
Теперь посмотрим, как работают методы:
Метод пишется так же через точку, только обязательно должен
содержать открывающую и закрывающую скобку. Скобки могут
содержать в себе параметры, а могут и не содержать. Также
метод может возвращать какое-либо значение, а может и не
возвращать.
К свойству объекта в модуле объекта или в форме, подчиненной данному объекту, можно обращаться напрямую, минуя

53
точку. Помимо свойств и методов объекты 1С могут иметь
События.
Событие (например, ПриИзменении ) - это то, как объект
реагирует на те или иные манипуляции. Все события являются
предопределенными, т.е. пользователь не может самостоятельно
создавать их. Он может только использовать имеющиеся события. Не все объекты имеют события. События имеют только прикладные объекты или объекты метаданных.
5.2. Объекты конфигурации 1С
Объекты конфигурации 1С, или объекты метаданных, создаются на этапе конфигурирования разработчиком – это справочники, документы, константы и т.д. Пользователь может непосредственно работать с некоторыми объектам – создавать экземпляры объектов и манипулировать ими. Или использовать их –
отчеты, обработки и т.п.
В платформе 1С существуют различные прототипы объектов метаданных. Это справочники, документы и прочие метаданные. Все прототипы объектов метаданных представлены в дереве
метаданных (дереве конфигурации).

54
Разработчик может самостоятельно создать объект того или
иного прототипа.
После выполнения команды будет создан новый объект с заранее
определенным разработчиками платформы 1С набором методов и
свойств. Например, у справочника одно из свойств это Имя, Синоним и т.д., а методы, например, Записать, Заполнить и т.д.
У объекта могут быть события: это возможность перехватить какие-то действия с объектом, например, можно перехватить
запись элемента справочника.
Для объектов метаданных разработчик может самостоятельно создать те или иные свойства – реквизиты объектов. А

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

56
Все реквизиты документов и справочников, которые создал
разработчик, являются свойствами объекта. А все процедуры и
функции с ключевым словом Экспорт являются методами
объекта. Тем самым для объектов метаданных разработчик может
самостоятельно конфигурировать нужные свойства и методы
в отличие от общих объектов. Помимо этого есть встроенные
свойства и методы объектов метаданных.
Основное ключевое понятие метаданных это Менеджер.
Платформе 1С 8 менеджер 1С необходим для организации работы с объектами метаданных. Посредством менеджера 1С создаются новые экземпляры справочников, документов, осуществляется поиск и выборка объектов, получаются формы и макет, а
также выполняется другая работа, не связанная с конкретным экземпляром объекта.
Для доступа к тому или иному объекту конфигурации 1С
необходимо сначала обратиться к менеджеру этого объекта.
Например, для управления документом как объектом конфигурации следует обратиться к менеджеру документа, а для управления справочником как объектом конфигурации нужно обратиться
к менеджеру справочника. Программно создать менеджер
объекта просто.
В коде мы создали переменную, которая является менеджером объекта Документ Прибытие в гараж. Рассмотрим данный
код. Слово Документы - это коллекция объектов метаданных документов, она включает в себя все объекты документы, которые
мы создали в нашей конфигурации. Прибытие в гараж - название
конкретного документа, объект которого мы хотим получить.
Менеджер объекта Справочник создается по аналогии с
документом.

57
В этом коде все точно так же, только Справочники - это коллекция объектов метаданных справочников.
Ссылка объекта. Работа с объектами 1С, связанными с
данными в базе данных, может вестись двумя способами – с помощи «ссылки 1С на данные» и объекта 1С.
Ссылка 1С – это данные, доступные только для чтения.
Объект 1С – это данные, доступные для чтения, изменения и записи. Работа со ссылкой 1С производится гораздо быстрее, чем с
объектом 1С.
Ссылка объекта указывает на данные объекта, но не хранит
их, т.е. получая ссылку объекта, мы сможем узнать всю информацию о данном объекте, но не сможем внести какие-нибудь
коррективы в данную информацию. Ссылка 1С на данные получается с помощью функций вида:
СправочникСсылка =
= Справочники.ИмяСправочника.НайтиПоНаименованию()
Объект 1С можно получить из ссылки 1С или создать с нуля:
СправочникОбъект =
= СправочникСсылка.ПолучитьОбъект();
СправочникОбъект =
= Справочники.ИмяСправочника.СоздатьЭлемент();
Программно получить ссылку на экземпляр объекта, который уже есть в базе, можно несколькими способами: найти по
коду, найти по наименованию, найти по реквизиту и найти по
нескольким реквизитам через запрос.
Рассмотрим синтаксис данной функции:

58
- Код – непосредственно тот код, по которому мы ищем
наш элемент.
- Поиск по полному коду - если стоит параметр Истина, то
поиск будет вестись по кодам всей иерархии.
- Родитель – для иерархических справочников можно ука-
зать группу, тогда поиск будет вестись внутри группы. Данное
поле необязательно.
- Владелец – для подчиненных справочников можно
указать владельца, тогда поиск будет вестись только среди
элементов, подчиненных данному владельцу. Данное поле
необязательно.
НайтиПоНаименованию (<Наименование>, <ТочноеСоответ-
ствие>,<Родитель>,<Владелец>)
Наименование – непосредственно то наименование, по ко-
торому мы ищем наш элемент.
ТочноеСоответствие - если стоит параметр Ложь, то поиск
будет вестись не точно, т.е. когда левая часть наименования элемента и строка поиска будут совпадать.
Параметры Родитель и Владелец точно такие же, как для
процедуры НайтиПоКоду:
НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>,
<Родитель>,<Владелец>).
ИмяРеквизита - строковое значение имени реквизита, по
которому мы будем искать наш объект. Оно должно быть аналогично тому имени, которое прописано в конфигураторе.
ЗначениеРеквизита - это значение, по которому должен выполняться поиск.
Параметры Родитель и Владелец точно такие же, как для
процедуры НайтиПоКоду.
Пустая ссылка 1С. Ссылка может быть пустой, это значит,
что создан «пустой» экземпляр объекта 1С, который не связан с
данными.
СправочникСсылкаПустая =
= Справочники.ИмяСправочника.ПустаяСсылка();

59
Также ссылку 1С можно проверить на заполненность:
Если СправочникСсылка.Пустая() Тогда
//…
КонецЕсли
Ссылка как свойство объекта. У любого объекта Справоч-
ника, Документа или Константы есть свойство Ссылка, которое
возвращает ссылку на данный объект. В основном она применяется в том случае, если мы, создав и записав объект, хотим
записать ссылку на этот объект в какой-нибудь реквизит, типом
которого будет соответствующая ссылка.
Ссылка на перечисление. Такие элементы конфигурации,
как Перечисления, тоже являются объектами. Но изменять их
программно нельзя, только через конфигуратор. Мы точно так же
можем получить менеджер какого-нибудь перечисления и ссылку
на значение конкретного перечисления.
Получить объект. Если стоит обратная задача: есть ссылка
и необходимо отредактировать какой-нибудь реквизит объекта,
на который она указывает, то для этого нам понадобится метод
объекта Ссылка – ПолучитьОбъект. Данный метод возвращает
объект ссылки, на который она указывает.
Метод ЭтоНовый. У любого объекта справочника и доку-
мента есть метод ЭтоНовый. Данный метод возвращает Истину,
если объект только что создан интерактивно или с помощью метода СоздатьЭлемент (или СоздатьДокумент), но при этом не записан в базу. То есть до того как был выполнен метод Записать.
Рассмотрим пример, поясняющий данный метод. При открытии формы документа Прибытие в гараж в том случае, если
документ новый, то необходимо заполнять дату прибытия текущей датой. В форме документа Прибытие в гараж в Свойстве
формы создадим процедуру ПриОткрытии.

60
В открывшемся окне модуля формы необходимо написать
следующий код.
В данном коде проверяется новый это документ или нет, и если
новый, то дате прибытия присваивается текущая системная дата.
Сохраним конфигурацию, запустим и откроем старый документ. Видим, что дата прибытия не изменилась. Теперь создадим новый документ и увидим, что дата прибытия автоматически
приняла значение текущей даты.
Пометка на удаление. В программе 1С удалить объекты из
базы можно двумя способами: удалить их непосредственно без
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
