Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Описание встроенного языка , Глава 10 - Работа со справочниками          
Vofka Подменю пользователя
сообщение 03.03.09, 10:49
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

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

Название и структура каждого конкретного справочника определяется при его создании в конфигураторе. У любого справочника существует два обязательных реквизита, которые создаются автоматически — "Код" и "Наименование". Другие реквизиты справочника, которые могут содержать различную дополнительную информацию помимо наименования, определяются в конфигураторе конкретно для каждого создаваемого справочника.

Реквизиты справочников могут быть периодическими или нет (это задается в конфигураторе при создании реквизита). Периодические реквизиты — это реквизиты, значения которых связаны с датой. При изменении значения пе­риодического реквизита старое значение сохраняется, при этом новое значение действует с указанной даты, а старое — до указанной даты. Работа с периодическими реквизитами осуществляется при помощи методов Получить и ИспользоватьДату, а также при помощи специального агрегатного типа данных — Периодический.

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


Контекст работы со справочниками

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

Если конкретный элемент или группа справочника входит (согласно локального контекста) в набор непосредственно доступных модулю значений агрегатных типов данных (см. «Виды программных модулей»), то обращение к атрибуту, вызов метода для этого элемента или группы справочника — просто имя этого атрибута или метода с указанием необходимых параметров.

Пример:
* В форме редактирования элемента справочника «Сотрудники» мы имеем непосредственный доступ к текущему элементу (сотруднику) справочника. Значит, чтобы изменить имя текущего сотрудника, просто укажем:


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


Значение элемента или группы справочника может быть получено из других источников, например как реквизит какого-либо документа. Чтобы получить доступ к атрибуту, вызвать метод такой переменной со значением типа «Справочник», имя этого атрибута, метода (с указанием необходимых параметров) пишется через точку после имени реквизита.

Пример:
* Если в документе значение реквизита "Сотрудники" имеет тип «Справочник», имя сотрудника можно узнать следующим образом:


ИмяСотр = Док.Сотрудники.Наименование;


В других случаях доступ к атрибутам, вызов методов конкретного элемента или группы справочника происходит при помощи переменной со ссылкой на объект типа «Справочник». Объект создается функцией СоздатьОбъект, ссылка на который присваивается переменной. Чтобы вызвать атрибут или метод объекта, имя этого атрибута, метода (с указанием необходимых параметров) пишется через точку после имени переменной.

При создании переменной со ссылкой на объект типа «Справочник» в качестве имени справочника должно выступать полное название конкретного вида справочника, как он объявлен в конфигураторе. Вид справочника записывается через точку после ключевого слова " Справочник", т. е. полное имя справочника записывается следующим образом:

Цитата
Справочник.Имя_Справочника

где <Имя_Справочника> — название справочника, определенное в конфигураторе.

Англоязычный синоним ключевого слова Справочник — Reference. Допускается создавать объект неопределенного вида справочника. В этом случае название конкретного вида справочника в параметре вызова функции СоздатьОбъект опускается. Далее для работы с таким объектом ему надо установить вид справочника при помощи метода Вид.

Пример:


Спр1=СоздатьОбъект("Справочник.Товары");
Спр2=СоздатьОбъект("Справочник.Клиенты");
СпрЗ=СоздатьОбъект("Справочник");
СпрЗ.Вид("Валюты");


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

Замечание. Объект, созданный при помощи функции СоздатьОбъект, изначально не спозиционирован, т. е. не указывает на конкретный элемент справочника. Чтобы начать с ним работать, его предварительно надо позиционировать при помощи методов НайтиЭлемент, НайтиПоКоду, ПолучитьЭлемент и т. п.

Пример:
*



//В модуле Формы списков Справочника
// меняем наименование выбранного в списке элемента справочника
Наименование = "Администрация";


*



// В модуле Формы элемента справочника или
// В модуле Формы группы справочника
// при редактирования одного элемента справочника
// меняем наименование обрабатываемого элемента справочника
Наименование = "Бухгалтерия";


*



// В других программных модулях
Спр = СоздатьОбъект("Справочник.Товары");
Спр.Новый();
//задаем реквизиты элемента Справочника, используя атрибуты
Спр.Наименование = "Авто-Элемент";
Спр.Код = 1032;
Спр.Размер = 10045;
Спр.Записать()

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:55
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!