Пиши Дома Нужные Работы

Обратная связь

Объектная модель платформы «1С: Предприятие»

 

3.1. Объекты для построения платформенно-зависимой модели

 

Документ – объект, предназначенный для представления первичной информации о совершенных хозяйственных операциях или о событиях, произошедших в жизни организации вообще. Документ обладает уникальной способностью – проведением. Это означает, что событие, которое документ отражает, повлияло на состояние учета. Факт проведения означает, что документ обработан полностью. Еще одна важная особенность документа – его привязка к шкале времени. Это позволяет отслеживать последовательность событий.

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

Из перечисленных основных объектов уже можно построить завершенную информационную систему (рис.3.1).

 

Рис. 3.1. Простейшая информационная система на основе документов и отчетов

 

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

Справочник – объект, предназначенный для описания однородных данных, представленных в виде списков. Данные, хранимые в справочниках можно считать условно-постоянными. Хотя пользователь имеет возможность редактировать содержимое справочников, происходит это сравнительно нечасто.

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



Рис.3.2. Схема взаимодействия основных объектов

 

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

В практике разработки в «1С: Предприятии» используется более широкий набор основных объектов, чем представлено в этом пункте. Однако, они исключены из рассмотрения вследствие их вспомогательной роли.

 

3.2. Общая структура основного объекта

 

Для большинства основных объектов существует уникальная идентификация экземпляров объектов. Для этого используется понятие кода – числового или строкового значения, имеющего уникальное значение на протяжении заданного интервала времени создания экземпляров объектов.

В первую очередь основные объекты предназначены для представления некоторых данных. Эти данные – суть свойства отображаемых объектов. Единичные свойства представляются при помощи реквизитов. Реквизит содержит одно значение определенного, заранее заданного типа данных. Это может быть примитивный, ссылочный или составной тип данных. Иногда свойства моделируемых объектов имеют сложную структуру, которую также необходимо представлять в модели. В этом случае применяются табличные части – таблицы данных, где каждая колонка представляет один реквизит.

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

Форма списка – предназначена для отображения списка экземпляров основного объекта.

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

Форма элемент (объекта) – предназначена для отображения данных экземпляра объекта.

Для представления данных в печатном виде используются макеты.

 

4. Основы работы с информационной базой

 

4.1. Создание информационной базы

 

Для создания информационной базы первоначально на локальном диске создайте собственную рабочую папку. Рекомендуется именовать её своей фамилией с префиксом «1С8», например, 1С8_Васюнин.

Работа с программой начинается с её запуска из меню Пуск / Все программы / 1С:Предприятие 8 (учебная версия) / 1С:Предприятие (учебная версия) или по соответствующему ярлыку на рабочем столе (рис. 4.1).

Рис. 4.1

 

На экране появится окно запуска (рис. 4.2).

 

Рис.4.2

 

Поле «Информационные базы» может быть пустым, а может быть уже заполненным именами информационных баз (названиями организаций или фамилиями студентов). В окне запуска необходимо воспользоваться кнопкой Добавить. Откроется мастер подключения. Мастер подключения позволит вам по шагам (с помощью кнопки Далее) создать новую информационную базу.

На первом шаге необходимо выбрать вариант добавления Создание новой информационной базы. На втором шаге нужно создать пустую информационную базу для разработки новой конфигурации (рис. 4.3).

Рис.4.3

 

На следующем шаге указывается наименование информационной базы и выбирается её тип расположения. Рекомендуется в качестве наименования указывать свою фамилию (рис. 4.4).

Рис.4.4

На следующем шаге необходимо указать каталог, в котором будет размещаться база данных и язык по умолчанию. Каталог можно выбрать по кнопке (рис. 4.5).

Рис.4.5

 

На последнем шаге параметры запуска не изменяйте и просто нажмите кнопку Готово. В окне запуска появится новая, пока ещё пустая, информационная база (рис.4.6).

 

Рис.4.6

 

В окне запуска, можно выбрать один из режимов запуска: «1С: Предприятие» или «Конфигуратор». Делается это с помощью одноименных кнопок окна запуска.

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

После подключения информационной базы данных необходимо открыть ее в режиме Конфигуратор, используя соответствующую кнопку в окне запуска программы (см. рис. 4.6). Работа по конфигурированию начинается с выполнения команды главного меню программы Конфигурация / Открыть конфигурацию. На экране появится окно конфигурации.

 

4.2. Перенос информационной базы

 

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

По окончании работы (на домашнем компьютере или в компьютерном классе) надо в режиме «Конфигуратор» выгрузить информационную базу в файл с расширением *.dt. (Администрирование / Выгрузить информационную базу)

При выгрузке по умолчанию будет предложено имя файла 1Cv8, но обязательно надо файлу дать другое имя, например, свою фамилию. Иначе при копировании на сервер произойдет перезапись файлов разных пользователей (рис.4.7).

 

Рис.4.7

 

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

На экране появится окно c предупреждением о потере несохраненных данных в открытых окнах. На вопрос о продолжении можно ответить Да. На следующий вопрос о перезапуске Конфигуратора также надо ответить Да.

 

4.3. Объекты системы

 

«1C: Предприятие» относится к классу объектно-ориентированных систем, т.е. в данном программном комплексе поддерживается понятие объект.Подобъектомупрощенно можно понимать некий «черный ящик», обладающий определенной функциональностью. Он характеризуется каким-либо набором свойств, обладает какими-либо методами, реагирует на определенные события в системе. Методы объекта могут менять его «внутреннее состояние» (значения свойств), могут «заставлять» объект что-либо «делать».

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

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

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

Несмотря на принципиальное отличие между объектами конфигурации и объектами базы данных (объектами системы), взаимосвязь присутствует. Определение какого-либо объекта конфигурации может привести к «появлению» базы данных. Например, добавление объекта конфигурации Справочник.Номенклатура приводит к тому, что при описании алгоритмов обработки информации можно использовать такие объекты как: СправочникСсылка.Номенклатура, СправочникОбъект.Номенклатура.

 

 

4.4. Классификация объектов

 

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

 

Рис.4.8

 

Все объекты конфигурации можно подразделить на три основные группы:

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

Прикладные объекты.Их перечень можно увидеть на первом уровне дерева метаданных (исключая группу «Общие»).

Подчиненные объекты.К таким объектам относятся «Реквизиты», «Табличные части» и т.д.

 

4.5. Прикладные объекты

 

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

Константы.Предназначены для хранения условно-постоянных величин.

Справочники. Списки однородных элементов данных. Используются для хранения нормативно-справочной информации.

Документы.Служат для ввода информации о совершаемых операциях в системе.

Журналы документов.Служат для отображения списков документов различного вида.

Перечисления.Списки значений, задаваемых на этапе конфигурирования.

Отчеты.Средство получения выходной информации.

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

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

Планы счетов.Совокупность синтетических счетов бухгалтерского учета.

Планы видов расчета.Предназначены для описания множеств однотипных объектов механизмов расчета.

Регистры сведений.Служат для хранения информации, состав которой развернут по определенной комбинации значений и при необходимости развернут во времени.

Регистры накопления.Служат для накопления информации в разрезе измерений с возможностью получения остатков и/или оборотов числовых величин.

Регистры расчетов.Служат для накопления информации о периодических расчетах.

Регистры бухгалтерии.Используются для отражения в бухгалтерском учете информации о хозяйственных операциях.

Бизнес-процессы.Используются для реализации «процессного» принципа работы. Данный принцип позволяет автоматизировать процесс прохождения и контроля цепочек событий, операций.

Задачи.Совместно с бизнес-процессами реализуют процессный принцип. Они позволяют вести учет заданий по исполнителям и служат отражением продвижения бизнес-процессов по точкам маршрута.

Добавить новый объект конфигурации можно несколькими способами. Но в любом случае надо установить курсор на нужную ветку объектов конфигурации, а затем выполнить одно из следующих действий:

- в командной панели окна конфигурации выбрать меню Действия / Добавить;

- в командной панели окна конфигурации нажать кнопку (Добавить (Ins));

- нажать правую клавишу мыши и выбрать пункт Добавить (это самый быстрый способ).

Добавьте, например, некий новый справочник Справочник1. После этого откроется окно редактирования объекта конфигурации (рис. 4.9).

 

Рис.4.9

 

Окно редактирования позволяет путем последовательных действий создавать объекты конфигурации. Окно содержит ряд закладок (Основные, Подсистемы и т. д.) передвигаться по которым рекомендуется с помощью кнопок Далее> и <Назад, но можно и прямо открывать нужную закладку.

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

 

4.6. Подчиненные объекты

 

В зависимости от вида объекта конфигурации (прикладного или общего) он может иметь различные подчиненные группы объектов.

Приведем перечень подчиненных объектов:

Реквизиты– дополнительная информация об объекте, доступная только в пределах этого объекта. Можно сказать, что с помощью реквизитов можно определить дополнительные свойства объекта.

Табличные части– наборы дополнительной информации об объекте, представленные в виде таблиц.

Реквизиты табличных частей– состав табличной части объекта, доступны только в пределах табличной части объекта.

Формы– используются для ввода, просмотра и редактирования информации.

Макеты– предназначены для формирования печатных форм

Графы– графы журнала документов.

Измерения– для регистров это объекты конфигурации, в разрезе которых учитываются данные в регистре.

Ресурсы– данные, учитываемые в регистре.

 

Откройте Справочник1 и на закладке Данные добавьте новый реквизит Реквизит1. На экране появится специальное окно Палитра свойств (рис. 4.10)

Рис. 4.10

 

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

4.7. Встроенный язык системы

 

Необходимость наличия встроенного языка определена концепцией настраиваемости системы. Язык является предметно-ориентированным. Он поддерживает специализированные типы данных предметной области, определяемые конфигурацией системы. Работа с этими типами данных в языке организована с использованием объектной техники.

Язык поддерживает конструкции позволяющие определять переменные, процедуры, функции. Операторы отделяются друг от друга символом «;».

Имя переменной, процедуры, функции может состоять из букв, цифр и символов подчеркивания. Начинаться имя должно либо с буквы, либо с символа подчеркивания. Последовательность описания процедур и функций не имеет значения.

Перем ИмяПеременной;

Процедура ИмяПроцедуры(Имяпараметра1,.....)

// тело процедуры

КонецПроцедуры

Функция ИмяФункции(ИмяПараметра1,...)

// тело функции

Возврат(ВозвращаемоеЗначение);

КонецФункции

Как и в любом другом языке существуют конструкции, реализующие ветвление и циклы:

Если Условие Тогда

// код

ИначеЕсли Условие Тогда

//код

Иначе

// код

КонецЕсли;

Для ПеременнаяСчетчик = НачальноеЗначение По Конечное Цикл

// тело цикла

КонецЦикла;

Для Каждого ПеременнаяЦикла Из ИмяКоллекции Цикл

// тело цикла

КонецЦикла;

Пока УсловиеЦикла Цикл

// тело цикла

КонецЦикла;

 

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

Наим = Спр.Наименование;

Наим = Спр["Наименование"];

Вызов методов объектов производиться «через точку»

Спр.Печать();

Допускаются следующие конструкции:

ок.Контрагент.ПолучитьОбъект().ПечатьКарточкиКлиента();

 

Платформа «1С:Предприятие 8» сочетает в себе визуальные и языковые средства конфигурирования. Использование встроенного языка в системе имеет событийно-зависимую ориентацию, то есть языковые модули используются в конкретных местах для отработки отдельных алгоритмов, настраиваемых в процессе конфигурации.

Более подробно о встроенном языке можно узнать в соответствующем разделе справки (рис. 4.11)

 

Рис. 4.11

и в Синтакс-помощнике (меню Справка / Синтакс-помощник).

4.8. Виды модулей

 

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

Модуль управляемого приложения.Выполняется при старте и окончании работы. Модуль располагается в корневом разделе конфигурации и открывается из контекстного меню Конфигурация (рис. 4.12).

 

Рис. 4.12

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

ПередНачаломРаботыСистемы,

ПриНачалеРаботыСистемы,

ОбработатьПараметрыЗапуска.

Модуль сеанса (см. рис. 4.12). Модулем сеанса называется модуль, который автоматически выполняется при старте системы в момент загрузки конфигурации. Модуль сеанса предназначен для инициализации параметров сеанса и отработки действий, связанных с сеансом работы. Модуль сеанса не содержит экспортируемых процедур и функций и может использовать процедуры из общих модулей конфигурации. Пример процедуры: УстановкаПараметровСеанса.

Модуль внешнего соединения(см. рис. 4.12).В нем располагаются процедуры-обработчики событий, которые инициализируются при старте и окончании работы системы в режиме внешнего соединения (СОМ-соединения).

Общие модули.Располагаются на ветви дерева Общие / Общие модули (рис. 4.13).

Рис.4.13

 

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

Рис. 4.14

 

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

ИмяОбщегоМодуля.ИмяПроцедуры/Функции

Пример общего модуля Календарные графики, в котором содержатся функции ПолучитьДатуПоКалендарю, ПолучитьРазностьДатПоКалендарю.

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

Рис.4.15

 

Например, в модуле объекта документа ПриходнаяНакладная могут быть такие процедуры как ОбработкаЗаполнения, ПередЗаписью и т.д.

Модули менеджеров(см. рис. 4.15).Каждый прикладной объект имеет менеджер, предназначенный для управления этим объектом, как объектом конфигурации. С помощью менеджера можно создавать объекты, работать с формами и макетами. Модуль менеджера позволяет расширить функциональность менеджеров за счет введения процедур и функций на встроенном языке. Фактически, это позволяет описать методы для объекта конфигурации (например, справочника), которые относятся не к конкретному экземпляру объекта базы данных, а к самому объекту конфигурации.

Например, в модуле менеджера документа ПриходнаяНакладная могут быть такие процедуры как ВыполнитьКонтроль, Печать и т.д.

Модули команд.Как в самой конфигурации, так и у многих прикладных объектов могут существовать подчиненные объекты конфигурации – Команды. У каждой команды существует модуль команды, в котором можно написать преопределенную процедуру ОбработкаКоманды() для выполнения этой команды. Чтобы открыть модуль команды какого-нибудь объекта, нужно в окне редактирования объекта перейти на закладку команды и дважды щелкнуть мышью на нужной команде (рис. 4.16)

Рис. 4.16

Модули форм.Эти модули содержатся в формах конфигурации. Каждая форма имеет свой индивидуальный модуль. В модуле формы доступны реквизиты формы, а также ее свойства, методы и события. Если у формы назначен основной реквизит, то в модуле формы становятся доступны свойства и методы прикладного объекта, используемого в качестве основного реквизита.

Чтобы открыть модуль формы, нужно открыть подчиненный объект конфигурации Форма некоторого прикладного объекта и в окне редактора форм перейти на закладку Модуль (рис. 4.17).

Рис. 4.17

 

4.9. Подсистемы

 

Подсистемы (разделы) – это основные элементы для построения интерфейса. Они позволяют выделить в конфигурации функциональные части. Эти объекты располагаются в ветке объектов Общие и позволяют строить иерархическую структуру из подсистем и подчиненных подсистем (рис. 4. 18).

Рис.4.18

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

Порядок расположения подсистем можно изменять в командном интерфейсе (рис. 4.19).

 

 

Рис. 4.19

 

Порядок подсистем изменяется по кнопкам Переместить вверх и Переместить вниз (рис. 4.20)

 

Рис. 4.20

 

4.10. Отладка конфигурации

 

Отладка программ возможна без выхода из режима Конфигуратор, для этого надо выполнить пункт меню Отладка / Начать отладку или нажать кнопку . На появившийся вопрос об обновлении конфигурации базы данных ответить Да. Затем может появиться следующее окно изменений в структуре информации конфигурации – в нем надо ответить Принять.

На экране появится окно режима 1С: Предприятие (рис. 4.21).

 

Рис.4.21

 

В случае внесения ещё каких-нибудь изменений в Конфигураторе продолжение отладки происходит через меню Отладка / Продолжение отладки или по кнопке . Появится запрос на перезапуск приложения – отвечайте Да. На последующие вопросы также отвечайте – Да.

 

 

Лабораторная работа 1

1. Удалите объект Справочник1.

2. Используя палитру свойств, переименуйте вашу конфигурацию. В новом имени должна присутствовать ваша фамилия, например КонфигурацияВасюнина.

3. Создайте подсистемы Бухгалтерия, ОказаниеУслуг, УчетМатериалов, РасчетЗарплаты, Администрирование.

4. Установите порядок разделов (подсистем) так, как показано на рис. 4.20.

5. Запустите отладку и проверьте работоспособность конфигурации (см. рис. 4.21).

 

 

5. Справочники

5.1. Назначение справочников

 

Справочники предназначены для хранения условно-постоянных данных, т.е. данных, которые изменяются сравнительно редко. Каждый справочник представляет собой список, который может быть структурирован линейно или иерархически. В зависимости от структуры, справочник может содержать или одни элементы или группы и элементы. У каждого элемента есть стандартные реквизиты: Код (число или строка), Наименование, Родитель (имя группы или элемента верхнего уровня в иерархических справочниках), Владелец (имя элемента владельца в подчиненном справочнике), ЭтоГруппа (булевского типа), ПометкаУдаления (булевского типа), Предопределенный (булевского типа), Ссылка (уникальное «внутреннее» поле для обращения к конкретному элементу), ИмяПредопределенныхДанных.

Справочники могут иметь предопределенные элементы – создаваемые на этапе разработки и запрещенные для редактирования пользователями. Предопределенные элементы используется при необходимости обратиться к каким-либо элементам из программного кода.

5.2. Программные объекты справочников

 

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

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

СправочникиМенеджеробеспечивает доступ ко всем справочникам конфигурации. Свойства этого объекта совпадают с именами справочников и содержат объекты типа СправочникМенеджер.

СправочникМенеджеробеспечивает доступ к операциям над справочником как множеством элементов. Через методы этого объекта можно осуществлять поиск, получать выборку, создавать новые элементы или группы, обращаться к формам и макетам справочника. Например: Справочники.ФизическиеЛица.

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

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

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

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

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

 

Рис. 5.1. Взаимосвязь объектов для работы со справочниками

 

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

Кроме того, у объекта СправочникМенеджер есть методы НайтиПоНаименованию и НайтиПоРеквизиту, которые действуют аналогично методу НайтиПоКоду и возвращают ссылку на найденный элемент или пустую ссылку, если элемент не найден.

 

Пример 1

 

 

Пример 2

 

5.3. Подчиненные справочники

 

Механизм подчиненных справочников обеспечивает взаимосвязь между элементами двух справочников. При этом используется типовое отношение связанных таблиц БД «один ко многим». Один справочник является главным, один подчиненным. Одной записи главного справочника могут соответствовать одна или несколько записей подчиненного справочника. Обратное неверно.

При создании таких отношений используется специальное поле, присутствующее в таблице любого справочника. Это поле Владелец (тип данных СправочникСсылка) – ссылка на элемент справочника-владельца, который является главным по отношению к этому элементу подчиненного справочника. Таким образом, в записи подчиненного справочника хранится ссылка на запись главного справочника (рис. 5.2).

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

Рис. 5.2

 

5.4. Иерархические справочники

 

Справочники могут обладать иерархической структурой. Механизм иерархии подобен механизму подчиненных справочников, за исключением того, что он реализован в рамках одной таблицы – таблицы справочника (рис.5.3).

 

Рис.5.3 Механизм иерархии справочника

 

Согласно табличной модели данных, каждая таблица справочника имеет поле Родитель (тип данных СправочникСсылка). В этом поле содержится ссылка на запись родительского элемента справочника. Если запись родительского элемента в поле ЭтоГруппа имеет значение Истина, то родительский элемент иерархии справочника является группой, иначе – элементом. Отсюда появляются два вида иерархии – групп и элементов и просто элементов. Так как в этом случае связь устанавливается внутри таблицы, здесь не используется механизм внешних ключей.

5.5. Модуль объекта Справочник

Модуль объекта отличается от модуля формы элемента справочника. Экранные формы отделены от самих объектов конфигурации. Именно в модуле объекта располагаются обработчики событий, связанных с элементом справочника.

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

ПриКопировании

Событие возникает при создании элемента справочника копированием. В обработчике события ПриКопировании можно вмешаться в этот процесс и более интеллектуально заполнить некоторые реквизиты элемента справочника.

ПередЗаписью

Процедура-обработчик вызывается после начала транзакции, но до начала записи элемента справочника. В данном обработчике можно отказаться от записи элемента.

ПриЗаписи

Событие возникает после записи элемента справочника в базу данных, но до окончания транзакции записи. В данном обработчике также можно отказаться от записи элемента.

ПередУдалением

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

ПриУстановкеНовогоКода

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

ОбработкаЗаполнения

Событие возникает при вводе элемента справочника на основании, а также при выполнении метода Заполнить. В процедуре-обработчике этого события должен быть описан алгоритм заполнения реквизитов элемента справочника на основании переданного значения.

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

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

 

 

5.6. Свойства справочников

 

Название и структура конкретного справочника определяется при его создании в конфигураторе. Каждый элемент справочника описывается стандартными реквизитами (рис. 5.4)

 

Рис. 5.4

 

и пользовательскими реквизитами на закладке Данные окна редактирования объекта Справочник. Если справочник иерархический, то у него будет доступен стандартный реквизит Родитель. Если справочник подчинен другому объекту конфигурации, то у него будет доступен реквизит Владелец.

Каждый элемент справочника может содержать некоторый набор информации, которая одинакова по структуре, но различна по количеству, и предназначена для разных элементов справочника. Для хранения такой информации используют табличные части со своими подчиненными реквизитами (рис.5.5)

 

Рис. 5.5

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.