Используемые модели для работы с данными справочников.
Для работы с данными справочников в программных модулях в системе 1С Предприятие 8.X существуют две модели – объектная модель и табличная.
Объектная модель подразумевает работу со справочниками как с объектами среды исполнения, обладающими некоторыми свойствами и операциями.
Выборка элементов справочника в отдельную переменную(объект). Для этого используется метод Выбрать().
//
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Переменная = Выборка.Наименование;
// обработка полученного значения
КонецЦикла;
Используемые команды, свойства и объекты.
Справочники – Коллекция объектов метаданных, которые описывают все справочники, определенные в конфигурации.
!!Объект Справочники доступен только в методах, исполняемых на сервере.
– Справочники.Номенклатура – обращение к справочнику – номенклатура
.Выбрать() – метод справочника, обеспечивает получение набора для перебора данных. Метод существует у многих агрегатных объектов – коллекций. Возвращаемое значение набор (Выборка), позиционированный на одном из элементов (первом).
Методы, свойства выборки.
Выборка.Следующий() метод получения следующего объекта из выборки
!!! При выборки элементов справочника и позиционировании на отдельном элементе выборки возможен только просмотр данных справочника. Для изменения данных необходимо получить элемент как объект.
Выборка.ПолучитьОбъект() – Метод агрегатного объекта, для получении объектной ссылки на текущий объект.
Об= Выборка.ПолучитьОбъект();
Об.Свойство =НовоеЗначение;
Выборка.ПолучитьОбъект().Свойство=НовоеЗначение;
Фрагмент кода выборки и переноса всех элементов в некоторую группу
// на запись
ПредопределеннаяГруппа=Справочники.Номенклатура.КудаПереместить;
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Ссылка.Родитель = ПредопределеннаяГруппа Тогда
Продолжить;
КонецЕсли;
ПолученныйОбъект = Выборка.ПолучитьОбъект();
ПолученныйОбъект.Родитель = ПредопределеннаяГруппа; ПолученныйОбъект.Записать();
КонецЦикла;
Справочники.Номенклатура.ДляПереноса – Это имя группы, куда, производится перенос элементов. В данном примере данная группа является предопределённой, то есть созданной в конфигураторе, поэтому её видно из программного модуля. Группы справочника, созданные в режиме предприятия, не видно в программном модуле. Для того, что бы их увидеть, удобнее всего выбрать нужную группу с помощью элемента управления. Для этого необходимо добавить в форму соответствующий реквизит. Тип реквизита должен быть - СправочникСсылка.Номенклатура. Такой тип (ссылка) позволяет обращаться к элементам соответствующих объектов (справочников, документов, и т.д.). Для установки на форме элемента управления, позволяющего обращаться к данному реквизиту, просто перетащить реквизит из области реквизитов в область элементов управления.
Рис.1.56. Установка элемента управления для выбора группы в справочнике.
В рабочей среде данный элемент позволяет открыть форму списка справочника для выбора значений. Выбор элемента производится кнопкой "ВЫБРАТЬ".
Рис.1.57. Выбор элемента справочника или группы
Для обращения к выбранному элементу справочника в программном коде необходимо использовать идентификатор соответствующего реквизита формы.
(Можно и через управляющий элемент, но это будет концептуально не правильно).
ГруппаКуда=Реквизит1;
Процедура переноса в выбранную группу будет выглядеть следующим образом
&НаСервере
Процедура Пере()
ГруппаКуда=Реквизит1;
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Ссылка.Родитель = ГруппаКуда Тогда
Продолжить;
КонецЕсли;
// Проверка не переноса элементов отнесённым к группам
Если (ЗначениеЗаполнено(Выборка.Ссылка.Родитель)) Тогда
Продолжить;
КонецЕсли;
// Проверка не переноса групп
Если Выборка.Ссылка.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
ПолученныйОбъект = Выборка.ПолучитьОбъект();
ПолученныйОбъект.Родитель = ГруппаКуда;
ПолученныйОбъект.Записать();
КонецЦикла;
КонецПроцедуры
ЗначениеЗаполнено(НННН) – метод возвращает, если значение свойства задано
Выборка.Ссылка.ЭтоГруппа – свойство элемента справочника, возвращает Истина, если текущий элемент группа.
Для задания возможность создание элементов справочника непосредственно с панели действий необходимо настроить подсистему, к которой отнесён данный справочник, (кнопка командный интерфейс, основной страницы конструктора объекта)
Рис.1.58. Вынос на панель действий команды создания элемента справочника.
Дата добавления: 2017-08-01; просмотров: 215;