Назначение основного объекта Справочник. Справочники предназначены для хранения условно-постоянных данных, т.е. данных, которые изменяются сравнительно редко. Каждый справочник представляет собой список, который может быть структурирован линейно или иерархически. В зависимости от структуры, справочник может содержать или одни элементы или группы и элементы.
У каждого элемента есть стандартные реквизиты: код (число или строка), наименование, родитель (имя группы или элемента верхнего уровня в иерархических справочниках), владелец (имя элемента владельца в подчиненном справочнике), ЭтоГруппа (булевского типа), ПометкаУдаления (булевского типа), Предопределенный (булевского типа), Ссылка (уникальное «внутреннее» поле для обращения к конкретному элементу). Справочники могут иметь предопределенные элементы – создаваемые на этапе разработки и запрещенные для редактирования пользователями.
Предопределенные элементы используется при необходимости обратиться к каким-либо элементам из программного кода. Программные объекты справочников. С помощью встроенного языка можно выполнять различные операции над справочниками: создавать, изменять и удалять элементы, искать нужный элемент, перебирать элементы в цикле и т.д.
1С Новичок. Справочники. Вкладка «Данные».
Работа со справочниками из программы производится с помощь нескольких объектов. Каждый объект имеет свое назначение, собственные свойства и методы. Ниже описываются эти объекты и взаимосвязи между ними: СправочникиМенеджер обеспечивает доступ ко всем справочникам конфигурации.
Свойства этого объекта совпадают с именами справочников и содержат объекты типа СправочникМенеджер. СправочникМенеджер обеспечивает доступ к операциям над справочником как множеством элементов. Через методы этого объекта можно осуществлять поиск, получать выборку, создавать новые элементы или группы, обращаться к формам и макетам справочника.
Например: Справочники.ФизическиеЛица. СправочникСсылка. Данный объект однозначно идентифицирует элемент (группу) справочника и позволяет обращаться к нему в режиме «только чтение». Через свойства и методы этого объекта можно прочитать реквизиты элемента (группы), обратиться к его табличным частям.
Значение этого типа хранится в реквизитах, ссылающихся на элементы данного справочника, например, в реквизите Сотрудник документа ПриемНаРаботу хранится ссылка на конкретный элемент справочника Сотрудники. СправочникОбъект. Предоставляет доступ к элементу с возможностью записи.
Данный объект содержит методы, влияющие на элемент в базе данных, например, методы Записать и Удалить. СправочникВыборка. Предоставляет возможность обхода (перебора) элементов справочника. Выборка может быть прямой или иерархической (если справочник многоуровневый). СправочникСписок. Объект для управления списком элементов в табличном поле.
Позволяет управлять колонками, отбором и сортировкой в списке. Из одних объектов с помощью определенных методов или свойств можно получить другие объекты, как показано на рис. 2.11.
1С Новичок. Справочники.
Например, метод Скопировать существует не только у объекта СправочникСсылка, но и у самого объекта СправочникОбъект. Кроме того, у объекта СправочникМенеджер есть методы НайтиПоНаименованию и НайтиПоРеквизиту, которые действуют аналогично методу НайтиПоКоду и возвращают ссылку на найденный элемент или пустую ссылку, если элемент не найден.
Пример 1 Пример 2
Механизм подчиненных справочников обеспечивает взаимосвязь между элементами двух справочников. При этом используется типовое отношение связанных таблиц БД «один ко многим». Один справочник является главным, один подчиненным.
Одной записи главного справочника могут соответствовать одна или несколько записей подчиненного справочника. Обратное неверно. При создании таких отношений используется специальное поле, присутствующее в таблице любого справочника.
Это поле Владелец (тип данных СправочникСсылка) – ссылка на элемент справочника-владельца, который является главным по отношению к этому элементу подчиненного справочника. Таким образом, в записи подчиненного справочника хранится ссылка на запись главного справочника (рис. 2.12).
С точки зрения пользователя механизм подчиненных справочников не отличается от обычных табличных частей: при работе с формой элемента главного справочника пользователь работает с элементом управления Табличное поле в котором отображается список записей, доступных только в этом элементе. Рис. 2.12.
Механизм подчиненных справочников Справочники могут обладать иерархической структурой. Механизм иерархии подобен механизму подчиненных справочников, за исключением того, что он реализован в рамках одной таблицы – таблицы справочника (рис.2.13). Рис.2.13.
Механизм иерархии справочника Согласно табличной модели данных, каждая таблица справочника имеет поле Родитель (тип данных СправочникСсылка). В этом поле содержится ссылка на запись родительского элемента справочника. Если запись родительского элемента в поле ЭтоГруппа имеет значение Истина, то родительский элемент иерархии справочника является группой, иначе – элементом.
Отсюда появляются два вида иерархии – групп и элементов и просто элементов. Так как в этом случае связь устанавливается внутри таблицы, здесь не используется механизм внешних ключей. Модуль объекта, который отличается от модуля формы элемента справочника. Экранные формы отделены от самих объектов конфигурации.
Именно в модуле объекта располагаются обработчики событий, связанных с элементом справочника. Существуют следующие события, обработчики которых располагаются в модуле справочника: ПриКопировании Событие возникает при создании элемента справочника копированием.
В обработчике события ПриКопировании можно вмешаться в этот процесс и более интеллектуально заполнить некоторые реквизиты элемента справочника. ПередЗаписью Процедура-обработчик вызывается после начала транзакции, но до начала записи элемента справочника. В данном обработчике можно отказаться от записи элемента.
ПриЗаписи Событие возникает после записи элемента справочника в базу данных, но до окончания транзакции записи. В данном обработчике также можно отказаться от записи элемента. ПередУдалением Событие возникает перед непосредственным удалением элемента или группы справочника из базы данных. В обработчике события это действие можно отменить.
ПриУстановкеНовогоКода Событие возникает в момент, когда выполняется установка нового кода элемента справочника. ОбработкаЗаполнения Событие возникает при вводе элемента справочника на основании, а также при выполнении метода Заполнить.
В процедуре-обработчике этого события должен быть описан алгоритм заполнения реквизитов элемента справочника на основании переданного значения. Обработчики этих событий должны располагаться в модуле объекта и только там, независимо от наличия у справочника различных форм. Обработчики событий будут вызываться всегда при наступлении указанных событий, даже если событие инициировано программными вызовами, например методами Записать и Удалить. Приведем пример использования обработчика события. Допустим, в конфигурации категорически не допускается ввод позиции номенклатуры без указания группы.
18.05.2015 71.51 Кб 22 Новый.rtf
Ограничение
Для продолжения скачивания необходимо пройти капчу:
Источник: studfile.net
Справочники и документы. В чем сила 1С
Много узкоспециализированных объектов или небольшое количество универсальных? Истина, как обычно, посередине. Справочники и документы в 1С — это пример удачного попадания в эту середину. Разумеется, речь не о том, что видит пользователь, а о том, чем оперирует разработчик. Идея » а давайте у нас будут не таблицы базы данных, а справочники и документы», при всей своей внешней неброскости, не столь проста. О чем и поговорим далее
Вступление
Объект 1С «Справочники»
Объект 1С «Справочники» — это прикладные объекты конфигурации 1С, предназначенные для хранения в информационной базе данных, имеющих одинаковую структуру и списочный характер (например, список сотрудников, перечень товаров, список контрагентов).
Т.о. Справочник предназначен для хранения справочной информации об однотипных объектах и представляет собой список, заполняемый пользователем на этапе исполнения прикладного решения.
Справочник хранится в таблице. Запись (строка) таблицы определяет объект базы данных – элемент справочника. Но объект базы данных включает не только запись в основной таблице справочника, но и все записи всех табличных частей справочника, относящиеся к данному объекту. Таким образом, объект базы данных включает в себя:
- запись основной таблицы;
- записи табличных частей.
Объект справочника может быть создан с помощью менеджера справочника. В этом случае создается новый объект, которого еще нет в базе данных. Если его записать, то появится новый объект в базе данных.
- позволяет избежать многократного ввода одной и той же информации (например, наименования контрагента);
- обеспечивает сквозную идентификацию (например, идентификацию контрагента при отгрузке и оплате).
Количество справочников задается на этапе конфигурирования и может быть произвольным.
Особенности Справочника 1С:
- каждый элемент справочника может иметь сложную структуру, задаваемую разработчиком на этапе конфигурирования;
- каждый элемент справочника характеризуется кодом и наименованием;
- каждый элемент справочника может содержать некоторую дополнительную информацию, описывающую этот элемент (например, артикул и др.);
- поддерживается режим автоматической нумерации элементов (автоматической генерации кода для нового элемента справочника);
- позволяет осуществлять контроль уникальности кодов справочника, не разрешая создавать элементы с одинаковыми кодами.
Реквизиты справочника 1С
Реквизиты справочника (документа) 1С – это поля справочника (документа), которые отображаются на форме, и предназначенные для заполнения пользователем в процессе исполнения прикладного решения.
Все справочники содержат два обязательных (предопределенных) реквизита:
Например, для сотрудников кодом может выступать табельный номер, а наименованием — фамилия, имя и отчество (ФИО).
Помимо кода и наименования, каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая подробно описывает этот элемент и хранящуюся в реквизита справочника. Например, для товара это может быть информация об артикуле, упаковке и т.п., а для сотрудников — подразделение и способ приема на работу.
Набор такой информации является одинаковым для всех элементов конкретного справочника.
Рисунок «Реквизиты справочника 1С»
Каждый реквизит 1С имеет свойства, отображаемые в палитре свойств реквизита.
Основные свойства реквизитов справочника 1С (в зависимости от Типа могут отличаться)
- Имя – наименование реквизита в языке 1С (в имени реквизитов не должно быть пробелов и знаков препинания).
- Синоним – отображение наименования реквизита для пользователя в режиме 1С:Предприятие.
- Тип – тип данных, хранящихся в реквизите:
- Число — используется для численных значений;
- Строка — строковые значения, может быть ограничена по длине;
- Дата — дата и/или время;
- Булево — использование флагов (значения Истина/Ложь или Да/Нет);
- ХранилищеЗначения (хранилище значений 1С) – это объект, который позволяет хранить в базе данных прочие значения, например картинки и файлы, структуры и таблицы значений. (подробнее. );
- УникальныйИдентификатор — статистически уникальный 128-битный идентификатор, позволяющий создавать расширяемые сервисы и приложения без опасения конфликтов, вызванных совпадением идентификаторов (подробнее здесь и здесь);
- СправочникСсылка, ДокументСсылка и т.д. — хранит ссылку, идентифицирующую объект в базе данных; используется везде, где нужно хранить ссылку на элемент (подробнее).
Флаг «Составной тип данных» позволяет выбрать несколько типов данных одновременно:
В этом случае пользователю в прикладном решении будет отображаться кнопка «Т», при нажатии на которую откроется окно «Выбор типа данных».
- Использование (Для элемента; Для группы; Для группы и элемента) — установка » Для группы и элемента» позволит задавать данный реквизит и для элементов иерархического справочника, и для его групп.
- Индексировать – позволяет указать системе, что нужно создать дополнительный индекс, содержащий соответствующий реквизит:
- «Индексировать» — индекс строится непосредственно по реквизиту. Включать, если требуется только поиск с помощью запроса объектов по данному реквизиту (без упорядочивания). Создаваемый индекс потребляет меньше ресурсов системы.
- «Индексировать с доп. упорядочиванием» — для использования в динамических списках; индекс строится по реквизиту, а также по некоторому полю, которое обычно используется для упорядочивания объектов этого типа. Включать, если требуется просмотр списка с отбором по реквизиту.
- Полнотекстовый поиск — участие в механизме полнотекстового поиска, позволяет быстро находить нужную информацию в данных информационной базы и в справочной системе.
- История данных — хранение истории изменения прикладных данных пользователями.
- Заполнять из данных заполнения — свойство определяет возможность заполнения реквизита из данных заполнения. Используется для заполнения реквизитов из значений текущего отбора списков. Читай также Как программно при открытии формы передать в нее нужные данныезаполнения, Как открыть форму с заполнением.
- Значение заполнения — см. выше. Читай также Обработчик проверки заполнения.
- Проверка заполнения — функция ПроверитьЗаполнение () проверяет заполнение реквизитов, у которых свойство «Проверка заполнения» установлено в значение «Показывать ошибку». Если реквизит не заполнен, то выводится сообщение об ошибке (возвращает ЛОЖЬ). Читай также здесь о программной проверке заполнения..
Предопределенные элементы справочника
Справочники допускают также создание предопределенных элементов, которые существуют в справочнике всегда, вне зависимости от действий пользователя. Такие элементы справочника создаются разработчиком при разработке прикладного решения и не могут быть удалены или перемещены пользователем .
Обычные элементы непостоянны для конфигурации и в процессе работы пользователя они могут появиться (или исчезнуть). Предопределенные элементы, напротив, постоянны (теоретически пользователь может их удалить, но , как правило, пользователю не даются права не только на интерактивное удаление предопределенных элементов, но и на интерактивное удаление объектов вообще). Поэтому конфигурация может работать с ними вполне уверенно и опираться на них средствами встроенного языка при отработке различных алгоритмов.
Рисунок «Предопределенные элементы справочника 1С»
Закладка «Прочее» в окне редактирования объекта конфигурации «Справочник»:
Табличные части справочника 1С
Помимо реквизитов каждый элемент справочника может содержать некоторый набор информации, которая одинакова по своей структуре, но различна по количеству, для разных элементов справочника. Например, для каждого сотрудника в справочнике «Сотрудники» это может быть информация о детях или информация об образовании. Для хранения подобных данных служат табличные части справочника.
Иерархия элементов справочника 1С
Справочники поддерживают иерархическое расположение элементов (групп элементов). Например, в справочнике Номенклатура могут быть созданы группы «Товары» и «Услуги», в которых располагаются элементы номенклатуры, относящиеся к этим группам.
Виды иерархии элементов справочников 1С:
- Иерархия групп и элементов — группы справочника могут включать в себя как элементы, так и другие группы, создавая тем самым многоуровневую иерархическую структуру.
Рисунок «Закладка «Иерархия» в окне редактирования объекта конфигурации «Справочник»
Подчинение справочников (Список владельцев справочника)
Справочники могут находиться в состоянии подчинения по отношению друг к другу, т.е. элементы одного справочника могут быть подчинены элементам или группам другого справочника:
- если справочник иерархический (содержит подчиненные элементы), то у него будет доступен стандартный реквизит Родитель ;
- если справочник подчинен другому объекту конфигурации, у него будет доступен реквизит Владелец .
Например, справочник «Кассы» может быть подчинен справочнику «Организации».
Рисунок «Подчинение справочников 1С»
Тогда при оформлении кассовых документов для некоторой организации можно будет выбрать кассу не среди всех имеющихся в программе касс, а среди касс, существующих только в этой организации.
Значения свойства ИспользованиеПодчинения (SubordinationUse):
- Группам (ToFolders)
- ГруппамИЭлементам (ToFoldersAndItems)
- Элементам (ToItems)
Свойство ИспользованиеПодчинения о пределяет использование ограничение подчинения для групп и элементов подчиненных справочников. Если у справочника несколько владельцев, то ограничение применяется ко всем владельцам.
Формы справочника 1С
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в справочнике, система поддерживает несколько форм представления справочника, которые генерируются автоматически.
Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию
Форма списка справочника 1С
Форма списка 1С используется для просмотра данных, содержащихся в справочнике, и позволяет:
- выполнять навигацию по справочнику;
- добавлять, помечать на удаление и удалять элементы и группы справочника;
- перемещать элементы и группы.
Форма списка может представлять данные в иерархическом и не иерархическом виде, а также позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям.
Конструктор формы списка справочника на закладке «Далее» всегда позволяет разместить на диалоге список элементов и, кроме того, для иерархических справочников с иерархией групп и элементов, — дерево групп.
Рисунок «Форма списка 1С»
Форма элемента справочника 1С
Форма элемента справочника 1С используется для просмотра и изменения данных отдельных элементов справочника. Как правило, она представляет данные в удобном для восприятия и редактирования виде.
В конструкторе формы элемента справочника на втором шаге (кнопка «Далее») указать размещение табличного поля, содержащего данные подчиненного справочника, нельзя , такие действия нужно выполнять уже при работе с формой.
Рисунок «Форма элемента справочника 1С»
Форма группы справочника 1С
Система поддерживает отдельный вид формы для групп справочника. Это связано с тем, что, как правило, состав информации, относящейся к группе справочника, намного меньше, чем состав данных, имеющих отношение к отдельным элементам справочника.
Форма выбора, форма выбора группы 1С
При различных действиях пользователя в прикладном решении возникает необходимость выбора конкретных элементов справочников. Это может потребоваться, например, при создании приходной накладной, в которой должны быть перечислены определенные товары. В этом случае система использует форму выбора справочника, которая, обычно, содержит минимальный набор информации, необходимой для выбора того, или иного элемента.
Кроме всех перечисленных форм, система поддерживает еще форму выбора группы справочника, предназначенную для выбора только среди групп, содержащихся в справочнике.
Рисунок «Форма выбора группы 1С»
Макеты 1С
Справочнику могут быть сопоставлены несколько макетов, предназначенных
- для формирования печатных форм справочника или
- для отображения дополнительной информации, имеющей отношение к справочнику.
Рисунок «Макеты 1С»
Использование программного кода для работы со справочниками 1С
Указанные ниже части программного кода должны размещаться в процедурах, функциях или модулях, выполняемых на стороне сервера (читай Программные модули платформы 1С: предназначение и свойства).
Ссылка на справочник
Для работы со справочником из какого-либо модуля требуется сначала создать ссылку на этот справочник.
Источник: flagman.top