русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Информация о текущем элементе


Дата добавления: 2013-12-24; просмотров: 807; Нарушение авторских прав


Программное создание группы

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

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

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

Внимание!Иерархический справочник - это также многоуровневый справочник, или справочник с группами.
Группа справочника в 1С часто называется "родитель".

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

СпрСотр.НоваяГруппа();
СпрСотр.Наименование = "Работающие";
СпрСотр.Записать();

СпрСотр.НоваяГруппа();
СпрСотр.Наименование = "Уволенные";
СпрСотр.Записать();

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

Установка текущей группы

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.ИспользоватьРодителя(грпРаботающие); //теперь мы внутри группы Работающие
СпрСотр.ВыбратьЭлементы(); //открыть выборку элементов группы Работающие

СпрСотр = СоздатьОбъект("Справочник.Сотрудники");
СпрСотр.ИспользоватьРодителя(грпРаботающие);
СпрСотр.Новый(); //создание нового элемента в группе Работающие

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



Метод / атрибут Описание
Уровень() Этот метод возвращает уровень текущего элемента. Например, для сотрудника, который находится в группе Работающие, мы получим число 2. Пример, вывод иерархического справочника в виде дерева: СпрСотр = СоздатьОбъект("Справочник.Сотрудники"); СпрСотр.ВыбратьЭлементы(); Пока СпрСотр.ПолучитьЭлементы()=1 Цикл //вывести отступ в соответствии с глубиной вложенности элемента Для Ном=1 По СпрСотр.Уровень() Цикл .....Сообщить("....."); КонецЦикла; Сообщить(СпрСотр.Наименование); КонецЦикла;
ЭтоГруппа() Этот метод возвращает 1, если текущий элемент справочника является группой, или 0 если группой не является. Пример, вывод сотрудников (группы не выводятся): СпрСотр = СоздатьОбъект("Справочник.Сотрудники"); СпрСотр.ВыбратьЭлементы(); Пока СпрСотр.ПолучитьЭлементы()=1 Цикл Если СпрСотр.ЭтоГруппа()=1 Тогда ......Продолжить; //группы пропускаем, перейти в начало цикла КонецЕсли; Сообщить(СпрСотр.Наименование); КонецЦикла;
ПринадлежитГруппе(...) Метод проверяет, принадлежит ли указанной группе текущий элемент справочника (независимо от того, на каком нижележащем уровне он находится). Возвращает: 1 - если элемент принадлежит указанной группе , 0 - если нет. Пример, вывод товаров, принадлежащих к группе Спиртное, независимо от того входят ли они в подгруппы Шампанское, Пиво, Водка, Вино и т.д.: СпрТовары = СоздатьОбъект("Справочник.Товары"); СпрТовары.ВыбратьЭлементы(); Пока СпрТовары.ПолучитьЭлементы()=1 Цикл Если СпрТовары.ПринадлежитГруппе(грпСпиртное)=1 Тогда .....Сообщить(СпрТовары.Наименование); КонецЕсли; КонецЦикла;
атрибут Родитель Этот атрибут содержит родителя текущего элемента справочника, т.е. группу, в которой находится текущий элемент. Доступен для чтения и записи. Пример, перенос всех товаров из группы Спиртное в группу Распродажа: СпрТовары = СоздатьОбъект("Справочник.Товары"); СпрТовары.ВыбратьЭлементы(); Пока СпрТовары.ПолучитьЭлементы()=1 Цикл Если СпрТовары.ПринадлежитГруппе(грпСпиртное)=1 Тогда .....СпрСотр.Родитель = грпРаспродажа; .....СпрСотр.Записать(); КонецЕсли; КонецЦикла; А можно сделать красивее и перенести всю группу Спиртное в группу Распродажа, тогда все подгруппы и элементы также перенесутся в группу Распродажа. СпрТовары = СоздатьОбъект("Справочник.Товары"); СпрТовары.НайтиЭлемент(грпСпиртное); СпрТовары.Родитель = грпРаспродажа; СпрТовары.Записать();
ПолныйКод() Возвращает строку, содержащую полный код выбранного элемента справочника со всеми вышестоящими уровнями, разделенными символом "/". Например, "2/7/123"
ПолноеНаименование() Возвращает строку, содержащую полное наименование выбранного элемента справочника со всеми вышестоящими уровнями, разделенными символом "/". Например, "Спиртное/Шампанское/Советское"


<== предыдущая лекция | следующая лекция ==>
Транзакции | Назначение подчиненных справочников


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.18 сек.