Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на платформе 1С Предприятие. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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С удалить объекты из базы можно двумя способами: удалить их непосредственно без
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]