Справочник хранит список возможных значений того или иного объекта или реквизита. Справочники используются в тех случаях, когда необходимо исключить неоднозначный вв од информации. Например, для того, чтобы покупатель, продавец, кладовщик и директор понимали, о каком именно товаре идет речь, каждый должен называть его одинаково. И в этом случае нам необходим справочник. Обычно на торговом предприятии он имеет вид прайс-листа.
Система 1С:Предприятие 8 позволяет вести практически неограниченное количество необходимых справочников. Каждый справочник представляет собой список однородных объектов: должностей, сотрудников, клиентов, товаров и т. д. Каждый такой объект называется элементом справочника.
С точки зрения пользователя, следует иметь в виду, что в Конфигураторе создается не сам справочник, как список значений, а разрабатывается заготовка справочника, его шаблон. В процессе конфигурирования описывается структура информации, которая будет храниться в справочнике, разрабатывается экранное и, если необходимо, печатное представление справочника, задаются различные особенности его поведения.
Групповая обработка справочников и документов в 1С (1/2). Справочники.
Реквизиты справочника (поля)
В качестве обязательных реквизитов каждый справочник имеет Код и Наименование. Код элемента справочника может быть как числовым, так и текстовым. Система 1С:Предприятие 8 предоставляет широкие возможности по работе с кодами элементов справочника: автоматическое присвоение кодов, автоматический контроль уникальности кода и другие.
Помимо Кода и Наименования, в справочниках системы 1С:Предприятие может храниться любая дополнительная информация об элементе справочника. Для хранения такой информации в справочнике могут быть созданы дополнительные реквизиты (поля). Используя механизм реквизитов справочника, легко организовать, например, картотеку сотрудников.
Например, справочник Сотрудники почти наверняка будет иметь реквизиты Должность, Оклад, ДатаПриема и другие. Фирма 1С предвосхитила программистов и ввела во все справочники два обязательных (предопределенных) реквизита: Код и Наименование. Действительно, практически любой объект из реальной жизни содержит эти атрибуты. Например, для сотрудников кодом выступает табельный номер, а наименованием — Фамилия, Имя и Отчество (ФИО). Кроме того, использование кодов (при использовании автоматической нумерации) позволяет с легкостью понять, какой элемент был введен раньше, а какой позже в базу данных.
Типы данных
Для каждого реквизита справочника необходимо задать тип данных, например, «число», «строка», «дата», булево (Истина или Ложь). Это базовые типы, но можно указать и сложные типы данных. Например, реквизит Должность имеет тип данных Должности. В этом случае, значения этого реквизита будут выбираться из справочника Должности. Так реализуется простейшая связь между справочниками, когда значения реквизитов одного справочника выбираются из элементов другого справочника.
Иерархические справочники
Список элементов справочника в системе 1С:Предприятие 8 может быть многоуровневым. В этом случае все строки справочника будут разделяться на 2 вида: «просто» элементы справочника и группы справочника. Группы позволяют переходить на нижележащие уровни многоуровневого справочника. Использование многоуровневых справочников позволяет организовать ввод информации в справочник с нужной степенью детализации. Элементы и группы элементов в многоуровневом справочнике можно переносить из одной группы в другую.
Групповая обработка справочников и документов 1С УТ 10.3
Подчиненные справочники
Между справочниками может быть установлено отношение подчиненности. В терминах реляционных баз данных, между таблицами устанавливается связь «один-ко-многим». В этом случае каждый элемент подчиненного справочника будет связан с одним из элементов справочника-владельца. Иногда можно сказать, что элементы одного справочника принадлежат элементам другого.
Например, в системе может быть справочник Договора. Тогда его можно сделать подчиненным справочнику Клиенты. Это означает, что клиент владеет договорами и у одного клиента может быть несколько договоров.
Табличные части
Начиная с версии 1С 8.0, в платформе реализована возможность для элемента справочника задавать одну или несколько табличных частей. Эту возможность рекомендуется использовать для отражения информации, связанной с данным элементом, но не имеющей собственной объектной сущности (для которых рекомендуется заводить подчиненные справочники). Например, для справочника Сотрудники могут быть заведены табличные части Образование и СоставСемьи. Работа с табличными частями похожа на работу с подчиненными справочниками за исключением того, что табличные части не могут использоваться в качестве значений реквизитов других объектов.
Где используется программный код для работы со справочниками?
Так как для выполнения программного кода нам необходимо обращаться к базе данных, данные куски программного кода должны размещаться в процедурах и функциях (или модулях) выполняемых на стороне сервера . Дополнительную информацию смотри в разделе О программных модулях.
1. Ссылка на справочник
Для работы со справочником из какого-либо модуля требуется сначала создать ссылку на этот справочник.
СпрСотрудники = Справочники . Сотрудники ; // или 2 вариант
СпрДолжности = Справочники [ «Должности» ];
2. Создание и запись нового элемента справочника
НовЭл = Справочники . Сотрудники . СоздатьЭлемент ();
НовЭл . Наименование = «Петров Петр Петрович» ;
НовЭл . Оклад = 25000 ;
НовЭл . Записать (); // именно в этот момент происходит запись в базу данных
3. Создание и запись новой группы справочника (для иерархического справочника)
Нов = Справочники.Сотрудники . СоздатьГруппу ();
Нов . Наименование = «Работающие» ;
Нов . Записать ();
// или 2 вариант
Нов = Справочники [ «Сотрудники» ]. СоздатьГруппу ();
Нов . Наименование = «Работающие» ;
Нов . Записать ();
4. Поиск элемента справочника
// если элемент найден, то он возвращается, иначе возвращается значение Неопределено
СпрСотр = Справочники . Сотрудники ;
НайденныйСотр = СпрСотр . НайтиПоКоду ( 123 ); / /ищем по коду
НайденныйСотр = СпрСотр . НайтиПоНаименованию ( «Иванов Иван Иванович» ); //по наименованию
НайденныйСотр = СпрСотр . НайтиПоРеквизиту ( «Оклад» , 5000 ); //по реквизиту
//далее нужно проверить найденное значение
Если НайденныйСотр = Неопределено Тогда
//элемент не найден
КонецЕсли;
5. Удаление элемента справочника
СпрСотр = Справочники . Сотрудники ;
СпрСотр . Удалить (); //непосредственное удаление текущего элемента справочника
СпрСотр . УстановитьПометкуУдаления (Истина); //пометка на удаление
СпрСотр . УстановитьПометкуУдаления (Ложь); //снять пометку на удаление
//можно проверить, помечен ли элемент на удаление
//свойство ПометкаУдаления имеет тип Булево (Истина или Ложь)
Пометка = СпрСотр . ПометкаУдаления ; //обратите внимание: это свойство
Если Пометка = Истина Тогда
//элемент помечен на удаление
КонецЕсли;
6. Перебор элементов справочника
Выборка = Справочники . Сотрудники.Выбрать ();
Пока Выборка . Следующий () = 1 Цикл // начало перебора элементов справочника в цикле
//действия с очередным элементом .
Сообщить ( «Сотрудник » + Выборка . Наименование );
КонецЦикла;
7. Родитель. Перебор элементов внутри группы.
Группа в терминах 1С — это «родитель».
СпрСотр = Справочники . Сотрудники ;
ГруппаРаботающие = СпрСотр . НайтиПоНаименованию ( «Работающие» );
Выборка = СпрСотр . Выбрать ( ГруппаРаботающие );
Пока Выборка . Следующий () = 1 Цикл
//действия с очередным элементом
Сообщить ( «Сотрудник » + Выборка . Наименование );
КонецЦикла;
8. Владелец. Перебор элементов справочника, принадлежащих элементу другого справочника.
Один справочник подчинен другому справочнику, например справочник НалоговыеЛьготы подчинен справочнику Сотрудники.
Выборка = Справочники . НалоговыеЛьготы . Выбрать ( , Сотрудник ); //тут сотрудник — ссылка на элемент справочника сотрудники
Пока Выборка . Следующий () = 1 Цикл
//действия с очередным элементом
Сообщить ( «льгота » + Выборка . Наименование );
КонецЦикла;
При создании множества элементов справочника для ускорения работы можно заключить цикл в транзакцию. При этом реальное создание всех элементов произойдет только по команде ЗафиксироватьТранзакцию(). При использовании транзакций действие будет либо выполнено целиком (созданы все элементы справочника), либо не выполнено совсем (в случае какого-либо сбоя не будет создано ни одного нового элемента, все останется также, как до запуска транзакции). Транзакции широко применяются в банковской сфере. Ведь никто не хочет, чтобы при отправке денег, они благополучно списались с вашего счета, но из-за какого-либо сбоя не дошли до адресата.
СпрСотр = Справочники . Сотрудники ;
НачатьТранзакцию ();
Для Ном = 1 По 100 Цикл
Нов = СпрСотр . СоздатьЭлемент ();
Нов . Наименование = «Новый » + Строка( Ном );
Нов . Записать ();
КонецЦикла;
Источник: 1c-uroki.ru
Добавляем ссылку на справочник в документе 1С
Всем привет! продолжаем изучать программирование в 1С. Сегодня создадим справочник и сделаем ссылку на него из документа. Зачем нужен справочник? Ну тут все проста, как вы помните в предыдущих статьях мы создали документ Приход Товара. В нем есть табличная часть в которой есть колонка наименование.
Справочник нужен для того чтобы каждый раз не писать название товаров в нашем случае — это Процессор, Материнская плата, жесткий диск и т.д. Мы с вами добавим справочник чтобы можно было выбирать наименование.
И так наша задача на сегодня научиться создавать справочники и делать на них ссылки из документов. Сегодня сделаем справочник для колонки Наименование поехала.
Как создать справочник и сделать на него ссылку.
У нас с вами уже есть учебная база в который мы создали документ Приход товара. Если вы пропустили или не читали статья то рекомендую с ним обязательно ознакомиться для этого перейдите в раздел 1С Предприятие и просмотрите последние статья.
Запускаем нашу базу в режиме конфигуратора. Приходим в пункт Справочники кликаем правой кнопкой и выбираем Добавить.
В открывшемся окне пишем название справочника Наименование Товар. Мы с вами создаем простейший справочник с одним названием поэтому больше пока не чего заполнять не будем, закрываем его и переходим в наш документ.
В документе переходим на вкладку Данные и в табличной части кликаем два раза на Наименование. Должно открыться окно свойств Наименование. В нем в поле тип выбираем наш созданный справочник.
Теперь запускаем нашу программу и смотрим что у нас получилось. В документе в поле Наименование теперь нельзя написать произвольное наименование. Нужно его сначала добавить в Справочник для этого кликаем на три точечки. Должен открыться справочник Наименование товара. В него необходимо добавить наименование товара и в последующем только выбирать нужное название из этого списка.
Таким образом можно добавить справочник значений в любое поле нашего документа, да и любого другого. Справочник облегчает работу. Можно в поле наименование писать только начальные буквы, например, если мы хотим выбрать Процессор не обязательно открывать справочник достаточно в поле написать Проц и нажать Enter. Значение подставиться из справочника. Или можно написать код, который стоить напротив названия в справочнике.
Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями программного продукта «1C:Предприятие», авторское право на который принадлежит ЗАО 1С.
Источник: www.softo-mir.ru
Основы работы в программах «1С:Предприятие»
Все списки в программе «1С:Предприятие» построены по общим принципам, поэтому изучение основных кнопок и пиктограмм поможет увеличить скорость работы в программе.
В данной статье мы рассмотрим основные кнопки для работы со справочниками, документами и отчетами, а также механизм удаления помеченных объектов и установку отборов в списках.
Основные кнопки для работы со справочниками
Добавить | ![]() |
![]() |
Ins | Добавление нового элемента |
Добавить группу | ![]() |
![]() |
Ctrl+F9 | Добавление новой группы. Доступна только в иерархических справочниках |
Добавить копированием | ![]() |
![]() |
F9 | Копирование элемента или группы справочника |
Изменить текущий элемент | ![]() |
![]() |
F2 | Открытие формы элемента или группы справочника для изменения |
Установить пометку на удаление | ![]() |
![]() |
Del | Пометка на удаление или снятие пометки на удаление |
Переместить элемент в другую группу | ![]() |
![]() |
Ctrl+Shift+M | Перемещение элемента в другую группу. Доступна только в иерархических справочниках |
Иерархический просмотр | ![]() |
![]() |
Включение и выключение иерархического просмотра в списке. Доступна только в иерархических справочниках | |
Отбор и сортировка | ![]() |
![]() |
Открытие окна для установки отбора и сортировки по различным реквизитам справочника | |
Отбор по значению в текущей колонке | ![]() |
![]() |
Установка отбора по значению в текущей колонке | |
История отборов | ![]() |
![]() |
Показ истории установленных ранее отборов | |
Отключить отбор | ![]() |
![]() |
Отключение установленных отборов | |
Обновить текущий список | ![]() |
![]() |
Ctrl+Shift+R | Обновление списка элементов и групп справочника |
Основные кнопки для работы с документами
Добавить | ![]() |
![]() |
Ins | Добавление нового документа |
Добавить копированием | ![]() |
![]() |
F9 | Копирование документа |
Изменить текущий элемент | ![]() |
![]() |
F2 | Открытие формы документа для изменения |
Установить пометку на удаления | ![]() |
![]() |
Del | Пометка на удаление или снятие пометки на удаление |
Установить интервал дат | ![]() |
![]() |
Установка интервала дат, за который будут показаны документы в списке | |
Поиск по номеру | ![]() |
![]() |
Поиск документа по номеру | |
Отбор и сортировка | ![]() |
![]() |
Открытие окна для установки отбора и сортировки по различным реквизитам документа | |
Отбор по значению в текущей колонке | ![]() |
![]() |
Установка отбора по значению в текущей колонке | |
История отборов | ![]() |
![]() |
Показ истории установленных ранее отборов | |
Отключить отбор | ![]() |
![]() |
Отключение установленных отборов | |
Обновить текущий список | ![]() |
![]() |
Ctrl+Shift+R | Обновление списка документов |
Ввести на основании | ![]() |
![]() |
Ввести другой документ на основании текущего | |
Провести | ![]() |
![]() |
Провести документ | |
Отменить проведение | ![]() |
![]() |
Отменить проведение документа | |
Результат проведения | ![]() |
![]() |
Открытие результата проведения документа – списка проводок. Доступна в программа для бухгалтерского учета | |
Структура подчиненности | ![]() |
Открытие списка связанных документов – структуры подчиненности |
Кнопки для работы со списками документов и справочников в управляемом приложении
В версии 8.2 конфигурации могут работать в режиме обычного приложения и в режиме управляемого приложения.
В режиме управляемого приложения работают, например, следующие конфигурации:
- Управление торговлей, ред. 11.0.
- Бухгалтерия предприятия, ред. 3.0.
- Розница, ред. 2.0.
- Документооборот, ред. 1.0.
В управляемом приложении отсутствуют кнопки для работы с отборами, указанные выше. Дополнительные кнопки для отборов и поиска в списках перечислены ниже.
Поиск данных в списке | ![]() |
Ctrl+F | Настройка поиска значения в списке. В отличие от отборов, поиск возможен только по одному реквизиту |
Отменить поиск данных | ![]() |
Ctrl+Q | Отключение режима поиска |
Настроить список | ![]() |
Открытие формы для настройки списка. В форме необходимо настроить отбор, сортировку, группировку и условное оформление |
Основные кнопки для работы с отчетами
Подробную информацию о настройке отчетов вы можете посмотреть в статье настройка отчетов 1с.
Установка отборов в списках
Списки документов и справочников обычно очень большие, поэтому найти нужный документ или элемент справочника иногда бывает очень сложно. Чтобы упростить поиск, можно установить в списке отборы.
Предположим, нам нужно найти документ поступления товаров от поставщика Мобил на главный склад. В стандартном списке без установленного отбора найти нужный документ сложно:
Нажмем кнопку «Отбор и сортировка» и откроется окно установки отбора и сортировки в списке:
Состав полей для отбора зависит от состава реквизитов в списке, в разных списках обычно поля для отбора разные.
По каждому полю можно установить флаг для включения отбора, выбрать вид сравнения и указать значение отбора справа.
Возможно использование следующих видов сравнения:
- Равно – отчет выведется только по указанному значению.
- Не равно – отчет выведется по всем значениям, кроме указанного в настройке. Например, можно посмотреть остатки по всем складам, кроме главного.
- В списке – в качестве значения указывается список из нескольких элементов, данные выводятся по всем значениям из списка. Например, можно посмотреть остатки по трем интересующим покупателя моделям вентилятора.
- Не в списке – в качестве значения указывается список значений, данные выводятся по всем значениям из списка.
- В группе – используется для иерархических справочников. В отчете будет информация только по элементам входящим в указанную группу (например, всем товарам, входящим в группу «Компьютеры»).
- Не в группе – используется для иерархических справочников. В отчете будет информация по всем элементам, кроме входящих в указанную группу (например, всем товарам, не входящим в группу «Компьютеры»).
- В группе из списка – выбирается список из нескольких групп, показываются данные по всем элементам, входящим в перечисленные группы.
- Не в группе из списка – выбирается список из нескольких групп, показываются данные по всем элементам, не входящим в перечисленные группы.
- Меньше, меньше или равно, больше, больше или равно – математические операции сравнения для чисел. Например, можно посмотреть все товары, остаток которых больше 10 шт.
- Интервалы (>, < >=,=) – используются для проверки вхождения значения в указанные интервалы. Используется для дат и чисел.
Установим в списке два отбора:
Благодаря установленным отборам, список сократился, и мы можем легко найти необходимые документы:
Удаление помеченных объектов
Ошибочно созданные элементы справочников и документы пользователи помечают на удаление. Периодически помеченные на удаление объекты необходимо удалять из программы.
Важно: удаление помеченных объектов может занять длительное время.
Примечание: удаление помеченных объектов можно производить, только если в базе не работают пользователи. Для удаления помеченных объектов необходимы административные права.
Меню: Операции – Удаление помеченных объектов (8.1 и 8.2 обычное приложение)
Меню: Все функции – Стандартные – Удаление помеченных объектов
На первом этапе программа формирует список всех помеченных на удаление объектов и выводит их на экран:
В списке объектов для удаления можно снять флаги у тех объектов, которые вы не хотите удалять в данный момент.
Далее нажимается кнопка «Контроль» и программа выполняет проверку возможности удаления. Объект можно удалить только в том случае, если на него не ссылаются другие объекты базы. Например, элемент номенклатуры нельзя удалить, если по нему есть хотя бы один документ (поступления, продажи и т. д.).
После контроля программа показывает на экране список помеченных на удаление объектов, отмечая, какие из них можно удалить:
По кнопке «Удалить» все доступные для удаления объекты удаляются из базы. По объектам, которые нельзя удалить, внизу выводится список объектов базы, которые на них ссылаются:
Источник: specportal.pro