Какие основные формы существуют у справочника 1с. Подчиненные справочники

Найти элемент справочника в 1С 8 можно тремя способами:

1) Поиск по коду

Если известен код элемента справочника, и необходимо получить ссылку на него, то можно воспользоваться методом НайтиПоКоду(<Код>, <ПоискПоПолномуКоду>, <Родитель>, <Владелец>) код элемента справочника и в результате будет получена либо ссылка на элемент справочника, либо пустая ссылка, если элемент с таким кодом не найден. Следует заметить, что если в справочнике присутствует несколько элементов с указанным кодом, то будет возвращен тот, который найден первым.

НайденныйЭлемент = Справочники.Номенклатура.НайтиПоКоду("00000011254" );

Описание параметров метода НайтиПоКоду :

  • <Код> (обязательный) . Тип: Число, Строка. Описание: искомый код, строка или число в зависимости от настроек справочника в конфигураторе.
  • <ПоискПоПолномуКоду> (необязательный) . Тип: Булево. Описание: определяет режим поиска по полному коду, истина — искомый код следует задавать в виде строки, состоящей из последовательности кодов по уровням справочника, разделенных символом “/”. Значение по умолчанию: Ложь.
  • <Родитель> (необязательный)
  • <Владелец> (необязательный)

2) Поиск по наименованию

Если известно наименование элемента справочника и необходимо получить ссылку на него, то можно воспользоваться методом НайтиПоНаименованию(<Наименование>, <ТочноеСоответствие>, <Родитель>, <Владелец>) менеджера справочника. В простейшем случае необходимо передать данному методу наименование элемента справочника и в результате будет получена либо ссылка на элемент справочника, либо пустая ссылка, если элемент с таким наименованием не найден. Следует заметить, что если в справочнике присутствует несколько элементов с указанным наименованием, то будет возвращен тот, который найден первым.

НайденныйЭлемент = Справочники.Номенклатура.НайтиПоНаименованию("Аппарат сварочный" );

Описание параметров метода НайтиПоНаименованию :

  • <Наименование> (обязательный) . Тип: Строка. Описание: строка, содержащая искомое наименование.
  • ТочноеСоответствие> (необязательный) . Тип: Булево. Описание: определяет режим поиска по полному соответствию, поиск будет успешным, если строка поиска: в случае значения параметра Ложь — будет соответствовать левой части наименования, в случае значения параметра Истина — будет полностью совпадать с наименованием (за исключением “хвостовых” пробелов в наименовании). Значение по умолчанию: Ложь.
  • <Родитель> (необязательный) . Тип: СправочникСсылка. Описание: родитель, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.
  • <Владелец> (необязательный) . Тип: СправочникСсылка. Описание: владелец, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.

3) Поиск по произвольному реквизиту

Если известно значение какого либо реквизита справочника и необходимо получить ссылку на него, то можно воспользоваться методом НайтиПоРеквизита(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>) менеджера справочника. В простейшем случае необходимо передать данному методу имя реквизита, его значение и в результате будет получена либо ссылка на элемент справочника, либо пустая ссылка, если элемент с таким значением указанного реквизита не найден. Следует заметить, что если в справочнике присутствует несколько элементов с таким значением указанного реквизита, то будет возвращен тот, который найден первым.

НайденныйЭлемент = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул" ,"А-255" );

Описание параметров метода НайтиПоРеквизит :

  • <ИмяРеквизита> (обязательный) . Тип: Строка. Описание: имя реквизита, как он задан в конфигураторе, по значению которого осуществляется поиск. Тип значения: произвольный, кроме ХранилищеЗначения и строк произвольной длины.
  • <ЗначениеРеквизита> (обязательный) . Тип: Произвольный. Описание: значение реквизита, по которому должен выполняться поиск.
  • <Родитель> (необязательный) . Тип: СправочникСсылка. Описание: родитель, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.
  • <Владелец> (необязательный) . Тип: СправочникСсылка. Описание: владелец, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.

Клюев В.В.

http://prof1c.kklab.ru

Подчинённые справочники

Скорее всего Вы уже неоднократно замечали в обычных типовых конфигурациях, взаимосвязанные между собой справочники, когда при выборе элемента справочника(справочник1), значение другого справочника(справочник2) «фильтруется» по этому значению - то есть выбираются значения, принадлежащие только текущему элементу справочника1; к примеру - это Справочник «Подразделения», владельцем которого является Справочник «Организации».

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

Справочник1 и Справочник2. В справочнике2 перейдите на вкладку «Владельцы» и выберите владельца - «Справочник1», смотрите как показано на рисунке.

Теперь при создании элементов в «Справочнике2», система будет просить ввести владельца справочника1. Есть опция - Использование подчинения - когда задается подчинение Элементам, группам, или группам и элементам.

Казалось бы всё просто, но проблемы возникают у пользователей. Пользователь при открытии «Справочника2» видит все элементы в совершенно непонятном порядке, да и к тому же, если вы работали с типовыми конфигурациями, то могли заметить, что напрямую в справочнике «Подразделения» вы нигде не задаёте владельца, а при открытии справочника можете выбирать организацию и в зависимости от этого получать элементы, подчинённые той или иной организации; при этом при создании элемента справочника «Подразделения» по умолчанию вы получите того владельца, которого выбрали в форме списка подразделений.
Итак приступим, и создадим «Форму списка» для нашего «Справочника2», пока предоставьте это 1С, не внося никаких изменений, позже мы подкорректируем созданную конструктором форму.
В «Справочнике2» перейдите на вкладку Формы и добавьте (+) новую Форму списка справочника и нажмите Готово.

Создадим реквизит формы с типом данных «Справочник1.Ссылка», с именем «ОтборСправочник1», и перетащим этот реквизит на форму, задайте заголовок «Справочник1».


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

8.2, 8.3 Управляемые формы

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

В процедуре введите следующий текст:

& НаКлиенте Процедура ОтборСправочник1ПриИзменении(Элемент) Список. Отбор. Элементы. Очистить() ; // ЭлементОтбора = Список. Отбор. Элементы. Добавить(Тип(" ЭлементОтбораКомпоновкиДанных " ) ) ; ЭлементОтбора. ЛевоеЗначение = Новый ПолеКомпоновкиДанных(" Владелец " ) ; ЭлементОтбора. ВидСравнения = ВидСравненияКомпоновкиДанных. Равно; ЭлементОтбора. Использование = Истина ; ЭлементОтбора. ПравоеЗначение = ОтборСправочник1; ЭлементОтбора. РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных. Недоступный; КонецПроцедуры

8.2 Обычные формы


При построении форм - всё то же самое, только формы необходимо создавать обычные, управляемые формы в обычном приложении не работают.
Разница будет состоять в процедуре отбора для элемента в форме списка и создании реквизита.
Чтобы добавить реквизит на обычную форму нажмите кнопку

Процедура Справочник1ПриИзменении(Элемент) ЭтаФорма. Отбор. Владелец. Значение = Справочник1. Ссылка; ЭтаФорма. Отбор. Владелец. Использование = Истина ; ЭтаФорма. ЭлементыФормы. СправочникСписок. НастройкаОтбора. Владелец. Доступность = Ложь ; //(?) КонецПроцедуры

Предпоследней строкой(?) - запрещаем изменять отбор при открытии параметров отбора пользователем - только через элемент управления!

Видео (без звука - все понятно без звука)

Назначение справочников

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

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

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

Реквизиты справочника (поля)

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

Помимо Кода и Наименования, в справочниках системы 1С:Предприятие может храниться любая дополнительная информация об элементе справочника. Для хранения такой информации в справочнике могут быть созданы дополнительные реквизиты (поля). Используя механизм реквизитов справочника, легко организовать, например, картотеку сотрудников. Например, справочник Сотрудники почти наверняка будет иметь реквизиты Должность, Оклад, ДатаПриема и другие. Фирма 1С предвосхитила программистов и ввела во все справочники два обязательных (предопределенных) реквизита: Код и Наименование. Действительно, практически любой объект из реальной жизни содержит эти атрибуты. Например, для сотрудников кодом выступает табельный номер, а наименованием - Фамилия, Имя и Отчество (ФИО). Кроме того, использование кодов (при использовании автоматической нумерации) позволяет с легкостью понять, какой элемент был введен раньше, а какой позже в базу данных.

Типы данных

Для каждого реквизита справочника необходимо задать тип данных, например, "число", "строка", "дата", булево (Истина или Ложь). Это базовые типы, но можно указать и сложные типы данных. Например, реквизит Должность имеет тип данных Должности. В этом случае, значения этого реквизита будут выбираться из справочника Должности. Так реализуется простейшая связь между справочниками, когда значения реквизитов одного справочника выбираются из элементов другого справочника.

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

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

Подчиненные справочники

Между справочниками может быть установлено отношение подчиненности. В терминах реляционных баз данных, между таблицами устанавливается связь "один-ко-многим". В этом случае каждый элемент подчиненного справочника будет связан с одним из элементов справочника-владельца. Иногда можно сказать, что элементы одного справочника принадлежат элементам другого. Например, в системе может быть справочник Договора. Тогда его можно сделать подчиненным справочнику Клиенты. Это означает, что клиент владеет договорами и у одного клиента может быть несколько договоров.

Табличные части

Начиная с версии 1С 8.0, в платформе реализована возможность для элемента справочника задавать одну или несколько табличных частей. Эту возможность рекомендуется использовать для отражения информации, связанной с данным элементом, но не имеющей собственной объектной сущности (для которых рекомендуется заводить подчиненные справочники). Например, для справочника Сотрудники могут быть заведены табличные части Образование и СоставСемьи. Работа с табличными частями похожа на работу с подчиненными справочниками за исключением того, что табличные части не могут использоваться в качестве значений реквизитов других объектов.

Где используется программный код для работы со справочниками?

Так как для выполнения программного кода нам необходимо обращаться к базе данных, данные куски программного кода должны размещаться в процедурах и функциях (или модулях) выполняемых на стороне сервера . Дополнительную информацию смотри в разделе .

1. Ссылка на справочник

Для работы со справочником из какого-либо модуля требуется сначала создать ссылку на этот справочник.

СпрСотрудники = Справочники . Сотрудники ; // или 2 вариант
СпрДолжности = Справочники [ "Должности"];

2. Создание и запись нового элемента справочника

НовЭл = Справочники . Сотрудники . СоздатьЭлемент ();
НовЭл . Наименование = "Петров Петр Петрович";
НовЭл . Оклад = 25000;
НовЭл . Записать (); // именно в этот момент происходит запись в базу данных

3. Создание и запись новой группы справочника (для иерархического справочника)

Нов = Справочники.Сотрудники . СоздатьГруппу ();

Нов . Записать ();
// или 2 вариант
Нов = Справочники [ "Сотрудники"]. СоздатьГруппу ();
Нов . Наименование = "Работающие";
Нов . Записать ();

4. Поиск элемента справочника

// если элемент найден, то он возвращается, иначе возвращается значение Неопределено

НайденныйСотр = СпрСотр . НайтиПоКоду (123); //ищем по коду
НайденныйСотр = СпрСотр . НайтиПоНаименованию ("Иванов Иван Иванович"); //по наименованию
НайденныйСотр = СпрСотр . НайтиПоРеквизиту ("Оклад", 5000); //по реквизиту

Если НайденныйСотр = Неопределено Тогда
//элемент не найден
КонецЕсли;

5. Удаление элемента справочника

СпрСотр = Справочники . Сотрудники ;

СпрСотр . Удалить (); //непосредственное удаление текущего элемента справочника

СпрСотр . УстановитьПометкуУдаления (Истина); //пометка на удаление
СпрСотр . УстановитьПометкуУдаления (Ложь); //снять пометку на удаление

//можно проверить, помечен ли элемент на удаление
//свойство ПометкаУдаления имеет тип Булево (Истина или Ложь)

Пометка = СпрСотр . ПометкаУдаления ; //обратите внимание: это свойство
Если Пометка = Истина Тогда
//элемент помечен на удаление
КонецЕсли;

6. Перебор элементов справочника

Выборка = Справочники . Сотрудники.Выбрать ();
// начало перебора элементов справочника в цикле
//действия с очередным элементом...

КонецЦикла;

7. Родитель. Перебор элементов внутри группы.

Группа в терминах 1С - это "родитель".

СпрСотр = Справочники . Сотрудники ;
ГруппаРаботающие = СпрСотр . НайтиПоНаименованию ("Работающие");
Выборка = СпрСотр . Выбрать (ГруппаРаботающие );
Пока Выборка . Следующий () = 1 Цикл

Сообщить ("Сотрудник " + Выборка . Наименование );
КонецЦикла;

8. Владелец. Перебор элементов справочника, принадлежащих элементу другого справочника.

Один справочник подчинен другому справочнику, например справочник НалоговыеЛьготы подчинен справочнику Сотрудники.

Выборка = Справочники . НалоговыеЛьготы . Выбрать (, Сотрудник ); //тут сотрудник - ссылка на элемент справочника сотрудники
Пока Выборка . Следующий () = 1 Цикл
//действия с очередным элементом
Сообщить ("льгота " + Выборка . Наименование );
КонецЦикла;


9. Транзакция

При создании множества элементов справочника для ускорения работы можно заключить цикл в транзакцию. При этом реальное создание всех элементов произойдет только по команде ЗафиксироватьТранзакцию(). При использовании транзакций действие будет либо выполнено целиком (созданы все элементы справочника), либо не выполнено совсем (в случае какого-либо сбоя не будет создано ни одного нового элемента, все останется также, как до запуска транзакции). Транзакции широко применяются в банковской сфере. Ведь никто не хочет, чтобы при отправке денег, они благополучно списались с вашего счета, но из-за какого-либо сбоя не дошли до адресата.

СпрСотр = Справочники . Сотрудники ;
НачатьТранзакцию ();

Для Ном = 1 По 100 Цикл
Нов = СпрСотр . СоздатьЭлемент ();
Нов . Наименование = "Новый " + Строка(Ном );
Нов . Записать ();
КонецЦикла;

ЗафиксироватьТранзакцию ();

Основное назначение.

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

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

Реквизиты справочника.

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

Помимо Кода и Наименования, в справочниках системы 1С:Предприятие может храниться любая дополнительная информация об элементе справочника. Для хранения такой информации в справочнике могут быть созданы дополнительные реквизиты (поля). Например, справочник Сотрудники почти наверняка будет иметь реквизиты Должность, Оклад, ДатаПриема и другие.

Типы данных.

Для каждого реквизита справочника необходимо задать тип данных, например, «число», «строка», «дата», булево (Истина или Ложь). Это базовые типы, но можно указать и сложные типы данных. Например, реквизит Должность имеет тип данных Должности. В этом случае, значения этого реквизита будут выбираться из справочника Должности. Так реализуется простейшая связь между справочниками, когда значения реквизитов одного справочника выбираются из элементов другого справочника.

Виды справочников.

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

Подчиненные справочники — Между справочниками может быть установлено отношение подчиненности. В терминах реляционных баз данных, между таблицами устанавливается связь «один-ко-многим». В этом случае каждый элемент подчиненного справочника будет связан с одним из элементов справочника-владельца. Иногда можно сказать, что элементы одного справочника принадлежат элементам другого. Например, в системе может быть справочник Договора. Тогда его можно сделать подчиненным справочнику Клиенты. Это означает, что клиент владеет договорами и у одного клиента может быть несколько договоров.

Табличная часть.

В платформе 1С реализована возможность для элемента справочника задавать одну или несколько табличных частей. Эту возможность рекомендуется использовать для отражения информации, связанной с данным элементом, но не имеющей собственной объектной сущности (для которых рекомендуется заводить подчиненные справочники). Например, для справочника Сотрудники могут быть заведены табличные части Образование и СоставСемьи. Работа с табличными частями похожа на работу с подчиненными справочниками за исключением того, что табличные части не могут использоваться в качестве значений реквизитов других объектов.

Примеры работы со справочниками в 1С.

СпрСотрудники = Справочники.Сотрудники ; // или
СпрДолжности = Справочники [ «Должности» ];

//Создание и запись нового элемента справочника

НовЭл = Справочники . Сотрудники . СоздатьЭлемент ();
НовЭл. Наименование = «Петров Петр Петрович» ;
НовЭл. Оклад = 5000 ;
НовЭл. Записать();

//Создание и запись новой группы справочника

Нов = Справочники. Сотрудники. СоздатьГруппу();
Нов
Нов. Записать(); // или
Нов = Справочники[ «Сотрудники»]. СоздатьГруппу();
Нов. Наименование = «Работающие» ;
Нов. Записать();

ПустаяСсылка = Справочники. Валюты. ПустаяСсылка();
Если ПустаяСсылка. Пустая() Тогда
Сообщить(«Ссылка пустая.» );
КонецЕсли;

// Поиск элемента справочника, если элемент найден, то он возвращается, иначе возвращается значение Неопределено

СпрСотр = Справочники. Сотрудники;
НайденныйСотр = СпрСотр. НайтиПоКоду(123 ); //ищем по коду
НайденныйСотр = СпрСотр. НайтиПоНаименованию(«Иванов Иван Иванович» ); //ищем по наименованию
НайденныйСотр = СпрСотр. НайтиПоРеквизиту(«Оклад» , 5000 ); //ищем по реквизиту

Если НайденныйСотр = Неопределено Тогда
//элемент не найден
Иначе
//элемент найден
КонецЕсли;

//Удаление элемента справочника

СпрСотр = Справочники. Сотрудники;
СпрСотр. Удалить(); //непосредственное удаление текущего элемента справочника
СпрСотр. УстановитьПометкуУдаления (Истина); //пометка на удаление
СпрСотр. УстановитьПометкуУдаления (Ложь); //снять пометку на удаление

//можно проверить, помечен ли элемент на удаление
//свойство ПометкаУдаления имеет тип Булево (Истина или Ложь)

Пометка = СпрСотр. ПометкаУдаления; //обратите внимание: это свойство
Если Пометка = Истина Тогда
//элемент помечен на удаление
КонецЕсли;

//перебор элементов справочника

Выборка = Справочники. Сотрудники. Выбрать();
// начало перебора элементов справочника в цикле

Сообщить(«Сотрудник « + Выборка. Наименование);
КонецЦикла;

//перебор внутри группы (при иерархической структуре), группа в 1С является родителем для элементов внутри

СпрСотр = Справочники. Сотрудники;
ГруппаРаботающие = СпрСотр. НайтиПоНаименованию(«Работающие» );
Выборка = СпрСотр. Выбрать(ГруппаРаботающие);
Пока Выборка.Следующий() = 1 Цикл
//действия с очередным элементом
Сообщить («Сотрудник « + Выборка.Наименование );
КонецЦикла;

//выборка элементов справочника, подчиненного другому справочнику

Выборка = Справочники. НалоговыеЛьготы. Выбрать( , Сотрудник); //тут сотрудник — ссылка на элемент справочника сотрудники
Пока Выборка. Следующий() = 1 Цикл
//действия с очередным элементом
Сообщить(«льгота « + Выборка. Наименование);
КонецЦикла;

// Как внести изменения в элемент справочника по ссылке

ОбъектСправочника = СсылкаНаЭлемент. ПолучитьОбъект();
ОбъектСправочника. Комментарий = «Контрагент изменен.» ;
ОбъектСправочника. Записать();

// Как узнать принадлежность элемента справочника группе с учетом уровней иерархии

Если СсылкаНаЭлемент. ПринадлежитЭлементу(СсылкаНаГруппу) Тогда
Сообщить(СсылкаНаЭлемент. Наименование + » принадлежит « + СсылкаНаГруппу. Наименование);
КонецЕсли;

// Как скопировать существующий элемент справочника

Копия = СсылкаНаЭлемент. Скопировать();
Копия. Наименование = Копия. Наименование + » КОПИЯ» ;
Копия. УстановитьНовыйКод();
Копия. Записать();

// Как выяснить уровень вложенности элемента справочника

// Примеры работы со справочниками в 1С с помощью языка запросов
// Как обойти все элементы справочника

Запрос = Новый Запрос;
Запрос. Текст =
«ВЫБРАТЬ
| Контрагенты.Ссылка
| ИЗ
| Справочник.Контрагенты КАК Контрагенты»;

СсылкаНаГруппу = Справочники. Контрагенты. ПустаяСсылка();
СсылкаНаЭлемент = Справочники. Контрагенты. ПустаяСсылка();


Если ВыборкаДетальныеЗаписи. Ссылка. ЭтоГруппа Тогда
СсылкаНаГруппу = ВыборкаДетальныеЗаписи. Ссылка;
Иначе
СсылкаНаЭлемент = ВыборкаДетальныеЗаписи. Ссылка;
КонецЕсли;
КонецЦикла;

// Как отобрать элементы справочника по родителю (перечислим все элементы группы)

Запрос = Новый Запрос;
Запрос. Текст =
«ВЫБРАТЬ
| Контрагенты.Ссылка
| ИЗ
| Справочник.Контрагенты КАК Контрагенты
| ГДЕ
| Контрагенты.Родитель = &Родитель»;

Запрос. УстановитьПараметр(«Родитель» , СсылкаНаГруппу);

РезультатЗапроса = Запрос. Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();
Сообщить(СсылкаНаГруппу. Наименование + «:» );
Пока ВыборкаДетальныеЗаписи. Следующий() Цикл
Сообщить
КонецЦикла;

// Как отобрать элементы справочника по владельцу (перечислим все договоры контрагента)

Запрос = Новый Запрос;
Запрос. Текст =
«ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка
| ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
| ГДЕ
| ДоговорыКонтрагентов.Владелец = &Владелец»;

Запрос. УстановитьПараметр(«Владелец», СсылкаНаЭлемент);

РезультатЗапроса = Запрос. Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();
Сообщить(СсылкаНаЭлемент. Наименование + «:» );
Пока ВыборкаДетальныеЗаписи. Следующий() Цикл
Сообщить(» « + ВыборкаДетальныеЗаписи. Ссылка);
КонецЦикла;

// Как отобрать элементы справочника по коду, наименованию, реквизиту

Запрос = Новый Запрос;
Запрос. Текст =
«ВЫБРАТЬ
| Валюты.Ссылка
| ИЗ
| Справочник.Валюты КАК Валюты
| ГДЕ
| Валюты.Наименование = &Наименование И
| Валюты.Код = &Код И
| Валюты.НаименованиеПолное = &НаименованиеПолное»;

Запрос. УстановитьПараметр(«Наименование» , «руб.» );
Запрос. УстановитьПараметр(«Код» , «643» );
Запрос. УстановитьПараметр(«НаименованиеПолное» , «Российский рубль» );

РезультатЗапроса = Запрос. Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();

Пока ВыборкаДетальныеЗаписи. Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи. Ссылка);
КонецЦикла;

Здравствуйте, дорогие наши коллеги и партнеры. За последний месяц к нам поступило несколько вопросов от пользователей программы 1С Бухгалтерия 8.3 с просьбой помочь настроить в программе список номенклатуры так как было в 8.2. То есть в старой программе они могли видеть в списке номенклатуры артикул или код номенклатурной позиции. Это было очень удобно. А вот в 8.3 ничего не видно и непонятно. На самом деле все очень несложно настроить. Поэтому мы решили написать небольшую инструкцию по настройке справочников в программе 1С Бухгалтерия 8.3, но этот алгоритм применим в любой конфигурации 1С.

Итак, в разделе «Справочники» откроем справочник «Номенклатура».

В открывшемся списке мы видим название номенклатуры, в котором нет сведений об артикуле товара. Для того чтобы изменить представление справочника, воспользуемся настройкой его формы. Открыв по кнопке «Еще» список команд, в самом низу найдем «Изменить форму».

В открывшейся форме нам представлены все реквизиты справочника, которые можно вывести на экран.

Установив соответствующий флажок, например «Код» и «Артикул» мы получим список номенклатуры, в котором отображены и код и артикул.

Однако в таком виде некоторым пользователям справочник тоже не нравится. Они хотят видеть номер и артикул перед названием товара. Это тоже очень легко решается. Опять открываем форму настройки списка и с помощью синих стрелок на панели инструментов передвигаем реквизит вверх или вниз, в зависимости от того, как мы хотим видеть список. Также можно «перетаскивать» реквизиты при помощи левой кнопки мыши.

Вот теперь список номенклатуры такой, каким вы хотели его видеть.

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

В крайнем случае, вас всегда спасет возможность «Установить стандартные настройки», которая находится в настройке формы в разделе «Еще»

И еще. Иногда звонят клиенты с таким вопросом: «Я на что-то нажала и у меня теперь наименования не по алфавиту. Верните все как у меня было». Этот вопрос тоже легко решается. В каждом справочнике в строке заголовка табличной части всегда есть «волшебная стрелочка», которая указывает столбец, по которому установлена сортировка и направление этой сортировки.

Изменить направление сортировки можно просто кликнув по этой стрелке и тогда список будет отсортирован, например, от Я до А. Если же мы хотим, чтобы сортировка товаров была по коду, то для этого надо кликнуть мышкой на названии соответствующего столбца «Код» и «волшебная стрелочка» переместится в другой столбец.

Ну вот и все. Надеюсь, мои советы помогут вам в работе с программами 1С. Работайте в 1С с удовольствием. Вступайте в наши группы в контакте и одноклассники и вы всегда первыми узнаете о наших новых статьях и изменениях в программах.



Просмотров