Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №7 «Справочники и перечисле...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
732.16 Кб
Скачать

7.6.3. Получение ссылки на элемент справочника

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

  • НайтиПоКоду(…);

  • НайтиПоНаименованию(…);

  • НайтиПоРеквизиту(…).

Все эти методы возвращают в качестве значения тип данных СправочникСсылка.<Имя справочника>.

При организации выборки Вы также можете получить ссылку на выбранную запись как на объект, если обратитесь к свойству Ссылка типа данных СправочникВыборка.<Имя справочника>.

7.6.4. Работа с отдельными записями как с объектами

У объектов типа СправочникСсылка.<Имя справочника> и СправочникВыборка.<Имя справочника> есть метод ПолучитьОбъект(), который позволяет получить доступ к объекту типа СправочникОбъект.<Имя справочника>.

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

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

У объекта типа СправочникМенеджер.<Имя справочника> есть два метода, которые позволяют создавать новые записи в справочнике:

  • СоздатьГруппу();

  • СоздатьЭлемент();

Кроме этого новая запись может быть получена путем применения метода .Скопировать() у типов данных СправочникОбъект и СправочникСсылка.

При этом процесс создания новой записи программным путем может выглядеть следующим образом:

НовыйЭлемент=Справочники.Имя.СоздатьЭлемент(); НовыйЭлемент.Код = …; НовыйЭлемент.Наименование = …; НовыйЭлемент.… = …; ……………………………………… НовыйЭлемент.Записать();

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

Рис. 7.15. Закладка "Прочие".

Тот же вывод верен и для изменения (модификации) существующих записей.

Для того чтобы процесс создания новых и изменения существующих записей (как интерактивным, так и программным путем) выполнялся бы единообразным образом (работали бы одни и те же алгоритмы), в системе у Справочников, Документов, Отчетов и Обработок существует Модуль Объекта. Этот модуль предназначен для обработки системных событий связанных с конкретной записью, ее созданием, заполнением, записью в ИБ и удалением.

7.6.5. Закладка "Прочие" и Модуль объекта

Если открыть окно редактирования справочника и выбрать закладку "Прочие" (см. рис. 7.15), то кнопка "Модуль объекта" позволит открыть одноименный модуль.

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

Для их обработки в Модуле объекта можно использовать следующие обработчики событий (имена фиксированы):

  • ПриУстановкеНовогоКода(<Стандартная обработка>, <Префикс>)

  • ПриКопировании(<Объект копирования>)

  • ОбработкаЗаполнения(<Основание>)

  • ПередЗаписью(<Отказ>)

  • ПриЗаписи(<Отказ>)

  • ПередУдалением(<Отказ>)

Рассмотрим, как это можно делать на следующем примере.

Предположим, что при копировании записи в справочнике "Фирмы" мы хотим, чтобы к наименованию добавлялся бы символ "1". Тогда текст модуля объекта этого справочника будет следующим:

// Модуль объекта справочника "Фирмы" Процедура ПриКопировании(ОбъектКопирования)     Наименование = Наименование+"1"; КонецПроцедуры

Упражнение №7.29.

Откройте модуль справочника "Фирмы" и внесите в него текст процедуры ПриКопировании(…).