1с основное представление справочника в виде реквизита

Справочники в 1С используются для работы с постоянной или условно постоянной информацией, но, в отличие от констант, данная информация может содержать множество значений. К примеру, если мы разрабатываем конфигурацию для учета движения товаров на складе, то такой информацией может быть вид товара, информация о самих товарах, информация о складах и т.п. Таким образом, справочники необходимы для хранения аналитики учета (то, по чему в дальнейшем будет осуществляться анализ, например, сколько товаров продано). В пользовательском режиме работа осуществляется с элементами справочника. Именно элементы справочника и являются объектами аналитики (именно они и будут анализироваться). Например, у справочника Товары могут быть элементы «Гвозди», «Хлеб» и «Молоко».

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

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

Применительно к товарам это может быть артикул, полное наименование, наименование для продажи, вид товара и т.п. Еще новая возможность справочников (в 1С 7.7. этого нет) — это возможность создавать табличные части, в которых хранится однотипная информация, количество которой может быть изменчивым. Например, для товара это могут быть какие-то дополнительные свойства.

Реквизитов и табличных частей может быть неограниченное количество.

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

Создать новый справочник 1С

После этого откроется конструктор справочника, где на закладке «Основные» необходимо ввести имя справочника.

Имя справочника 1С

На закладке Данные можно задать длину кода и наименования, тип кода (число или строка) и основное представление элемента справочника (в виде кода или в виде строки).

Код и наименование справочника 1С

А также можно создать необходимые реквизиты и табличные части.

Реквизиты и табличные справочника 1С

В отличие от наименования, код может элементу справочника присваиваться автоматически, если установлен флаг Автонумерация на закладке нумерация.

Автонумерация справочника 1С

Реквизиты справочников 1С создаются на закладке Данные в окне реквизитов.

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

В качестве реквизитов справочника могут выступать, как примитивные типы, так и ссылочные. Например, мы уже создали справочник ВидыТоваров, а сейчас создадим справочник Товары, где будут реквизиты Артикул (тип Строка) и ВидТовара (ссылка на справочник ВидыТоваров).

Реквизит справочника 1С с примитивным типом

Реквизит справочника 1С с ссылочными типом

В режиме «1С: Предприятия» это будет выглядеть следующим образом.

Элементы простого справочника

Справочник с ссылочным реквизитом

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

Основное представление справочника код

Основное представление справочника в виде кода

Табличные части справочников 1С

Табличные части создаются на закладке «Данные» в конструкторе справочника.

Табличные части справочников 1С

Можно создавать неограниченное количество табличных частей.

Сделаем справочник Комплектация, у которого будет табличная часть Состав.

Справочник 1С с табличной частью

У табличной части может быть неограниченное количество реквизитов. Для того, чтобы создать реквизит табличной части, её необходимо выделить и нажать на кнопку «Добавить реквизит».

Добавление реквизита табличной части справочника

Реквизиты табличной части могут быть как примитивных типов, так и ссылочных.

Реквизиты табличной части справочника

Табличная часть справочника 1с

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

В конфигурации 1С 8.3 можно разрабатывать Подчиненные справочники. В Подчиненном справочнике каждый его элемент имеет владельца, который является элементом или группой другого справочника. Элемент подчиненного справочника не может существовать без владельца.

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

Справочник 1С классификатор единиц измерения

У справочника Товары сделаем реквизит основная единица измерения (ссылка на справочник классификатор единиц измерения)

Реквизит справочника 1С Основная единица измерения

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

Создадим справочник ЕдиницыИзмерения.

На закладке Владельцы установим, что владельцем этого справочника является справочник Товары.

Владелец справочника 1С

И создадим реквизиты: Коэффициент (тип число) и единица измерения (тип ссылка на справочник «Классификатор единиц измерения»).

Реквизиты справочника Единицы измерения

Вот как это будет выглядеть в режим «1С: Предприятия».

Справочник 1С

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

Подробно о подчиненных справочниках читайте в этой статье:

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

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

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

Сделаем справочник Товары иерархическим. Для этого переходим на закладку «Иерархия» конструктора справочника и установим флаг «Иерархический».

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

Иерархия у справочников бывает двух видов: Иерархия групп и элементов и просто Иерархия элементов.

Иерархия групп — это каталоги, которые в себе содержат определенные элементы. А что такое Иерархия элементов? Это когда один элемент подчинен другому.

Посмотрим, как выглядит иерархический справочник в «1С:Предприятии»

Иерархический справочник 1С в 1с предприятии

Как видите, в форме списка появилось две команды. «Создать» и «Создать группу». При выполнении команды «Создать» будет открыта форма на создание нового элемента, а при выполнении команды «Создать группу» — форма на создание группы (папки).

Создание групп и элементов

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

Подробно, про иерархический справочник читайте в этой статье:

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

Что такое предопределенные элементы справочников, и как с ними работать, читайте в этой статье:

Предопределенные элементы справочников 1С

Формы справочников в 1С 8.3

Остальные статьи по теме конфигурирования:

Документы в 1С 8.3

Журнал документов в 1С 8.3

Подсистемы 1С 8.3

Общие реквизиты в 1С

Более подробно и основательно работа со справочникам в дается в моей книге:

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

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

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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

В свойствах справочников и документов можно задать свойство «Основное представление». Данное свойство доступно в режиме конфигуратора. Возможны два режима выбора варианта формирования представления: «В виде кода» или «В виде наименования».


Свойства справочника 1С

Когда срабатывает представление ?
Представление формируется при выводе на экран ссылок (объектов) документов или справочников.

Программное изменение представления в «Управляемом приложении»

В управляемом приложении появилась возможность программно влиять на формирование представления справочника или документа. Для этого в модуле менеджера предназначены две специальные процедуры:

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

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)

СтандартнаяОбработка

= Ложь;
Поля.Добавить("Номер");
Поля.Добавить("Наименование");
Поля.Добавить("Код");КонецПроцедуры

2) ОбработкаПолученияПредставления(<Данные>, <Представление>, <СтандартнаяОбработка>)Вызывается при получении представления. В параметре «Данные» содержатся значения полей объекта, которые были заданы в событии ОбработкаПолученияПолейПредставления().

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

СтандартнаяОбработка

= Ложь;
Представление = Данные.Номер + Данные.Наименование + Данные.Код;КонецПроцедуры

реквизит справочника в качестве основного представления

Я
   Gorr

17.02.05 — 13:10

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

  

Партнерская программа EFSOL Oblako

   Барбариска

1 — 17.02.05 — 13:14

Основное представление — только в виде кода или наименовния, чтобы видеть другой реквизит справочника — можно в форме списка текстовую колоночку сделать…

   Gorr

2 — 17.02.05 — 13:20

(1) т.к. редактируем в списке, а не в диалоге текстовый реквизит не пойдет — он только для чтения.

   Барбариска

3 — 17.02.05 — 13:21

Можно «при начале редактирования строки» обработать нестандартно…

Если Форма.текущаяКолонка()=этот самый текстовый реквизит Тогда

   Дурочкааа 1С

4 — 17.02.05 — 13:26

Код и наименование сделай нулевого размера. Свой реквизит сделай первым в списке.

   Rovan

5 — 17.02.05 — 13:27

Можно штатно задать представление по реквизиту, но при условии что длина кода и наименования равны 0.

   Zubr

6 — 17.02.05 — 13:28

http://www.sinor.ru/~my1c/knowhow/dl0.html

   Барбариска

7 — 17.02.05 — 13:28

Или для полной имитации нормальной работы со справочником — можно в 1-м справочнике сделать дополнительный реквизит типа «Строка», в котором «дублировать» реквизит в виде его основного представления. В форме списка 1-го справочника — сделать видимым строковый реквизит, ему сделать «запретить редактирование» и сделать кнопку выбора. А далее просто корректно отработать процедуру «ПриНачалеВыбораЗначения»

   Барбариска

8 — 17.02.05 — 13:31

(4),(5) экстремалы )))

«Что толку от книжки, если в ней ни картинок, ни разговоров» (с)

«что толку от справочника, если в нем ни кода, ни наименования» ?

   Дурочкааа 1С

9 — 17.02.05 — 13:36

(8) Зачем ты пишешь

>>»что толку от справочника, если в нем ни кода, ни наименования» ?

Как же я теперь людям в глаза смотреть буду?

   Барбариска

10 — 17.02.05 — 13:38

(9) угу, мучайся угрызениями совести)))

   Rovan

11 — 17.02.05 — 14:04

(8) Справочник «Единиц измерения» в ТиСе — нет ни кода ни наименования, а первый реквизит — ссылка на справочник ОКЕИ.

Если я неправ — поправьте !

   Барбариска

12 — 17.02.05 — 14:09

(11) я не говорю, что это не правильно. Но в общем случае — это чересчур уж экстремально… Не так много можно придумать случаев, в которых это не создавало бы неудобств… как-то делала синхронизацию данных между двумя базами — много раз вспоминала нехорошими словами даже справочник с просто неуникальным кодом…

   Rovan

13 — 17.02.05 — 14:13

(12) Я понял.

Я тоже вспоминал (особенно сотрудников с одинаковыми табельными №).

  

Gorr

14 — 17.02.05 — 15:12

(13) ТН этож обычно КОД!!!

Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан

Содержание:

1.       Представление при помощи свойства «Основное представление»

2.       Изменение представления справочника или документа программным путем

3.       Пример представления документа в 1С

В данной статье речь пойдёт о том, как выводить, создавать и управлять представлением документа либо представлением справочника в системе 1С.  

1.    Представление при помощи свойства «Основное представление»

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


Рис. 1 Представление справочника в виде кода и наименования

Рассмотрим, как работает механизм работы представления документов в 1С. Представление справочника или документа формируется во время вывода на экране различных ссылок, а также разнообразных объектов от документации либо справочников.  

2.    Изменение представления справочника или документа программным путем

Также в «Управляемом приложении» в 1С есть возможность изменить программно представление документа или справочника. Чтобы создать программные изменения, необходимо задействовать какую-то из двух процедур, которые находятся в модуле менеджера:

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

Рис. 2 Обработка, позволяющая получить представление документа

2.     «ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)» – данную процедуру вызывают, чтобы получить представление необходимого документа. Внутри параметра «Данные» находятся все значения по полям в нужном нам объекте, которые задавались в событии «ОбработкаПолученияПолейПредставления()», как демонстрируется на скриншоте ниже:


Рис. 3 Процедура, применяемая для того, чтобы получить представление документа  

3.    Пример представления документа в 1С

Выше было представлено как стандартно менять способы представления документа. Теперь рассмотрим, как это работает на практике. Пусть нужно изменить представление документа «Реализация товаров, услуг» на «Реализация т/у №150 от 20.05.2016 (Контрагент: ООО Альфа)». Чтобы произвести данную процедуру нужно внутри менеджерского модуля по объекту внутри документа создать обработчики по событиям по получению нового представления, а также его возможных полей. Процедура в данном случае будет выглядеть, как продемонстрировано на скриншоте с кодом ниже:

Рис.4 Получение нового представления документа в 1С

В данной статье было рассмотрено понятие представления документов в 1С. Были представлены два возможных стандартных варианта для изменения, две возможные процедуры в модуле менеджера, а также режимы представления документа.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Как глобально заменить представление справочника

Элементы справочника обычно имеют представление в виде кода или наименования, задается в свойствах объекта в «Основное представление».

Для того чтобы расширить эти возможности существуют 2 метода менеджера справочника «ОбработкаПолученияПолейПредставления» и «ОбработкаПолученияПредставления»

Указать какие реквизиты требуются для представления:

&Вместо("ОбработкаПолученияПолейПредставления")
Процедура Тум_ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	Поля = Новый Массив;
	Поля.Добавить("НаименованиеПолное");
	Поля.Добавить("Наименование");
	Поля.Добавить("Артикул");
	Поля.Добавить("АртикулПоставщика");
	Поля.Добавить("ЭтоГруппа");
КонецПроцедуры

Замена представления, на примере номенклатуры:

&После("ОбработкаПолученияПредставления")
Процедура Тум_ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
   Если Данные.ЭтоГруппа = Истина Тогда
   Иначе
	СтандартнаяОбработка = Ложь;
	Представление = Данные.НаименованиеПолное;
   КонецЕсли;	
КонецПроцедуры

Обратите внимание: у группы этого реквизита может не быть, поэтому сделана проверка

Можно сделать более сложные запросы, передав сюда Ссылку, но это может нагрузить систему.

Я делал локализацию данных в программе на английский язык через этот механизм, субъективно открытие списков стало работать на 20-30% медленней.

Сворачивать рекламу, чтобы сберечь деньги, все равно, что останавливать часы, чтобы сберечь время.

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

Разберём пример на основе Справочника «Физические лица».

Рассмотрим три основные формы представления справочника в режиме 1С Предприятие.

Форма списка

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

Форма элемента

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

Форма выбора

Справочники 1С

Представление справочника в Конфигураторе

Справочник в режиме Конфигуратор находится в Конфигурации в разделе Справочники.

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

Подробно рассмотрим основные вкладки справочника:

Справочники 1С

Вкладка «Основные»

На вкладке «Основные» заполняется имя справочника, синоним, представление объекта, описание основного назначения справочника.

Вкладка«Подсистемы»

На вкладке «Подсистемы» необходимо указывать  подсистемы, в которые войдёт данные справочник.

Справочники 1С

Вкладка «Функциональные опции»

Вкладка позволяет связать справочник и его реквизиты с Функциональными опциями, определенными в системе.

Справочники в 1С

Вкладка «Иерархия»

Позволяет установить иерархичность. Иерархия делится на «Иерархия групп и элементов» и «Иерархию элементов». «Иерархия групп и элементов» позволяет назначать родительским элементом группы (папки) и элементы. «Иерархия элементов» позволяет назначать родительским элементом только элементы.

Опция «Размещать группы сверху» определяет правила отображения групп в форме списка. Флаг «Ограничить количество уровней иерархии» позволяет указать максимальное количество уровней вложенности элементов.

Справочники 1С

Вкладка «Владельцы»

На вкладке «Владельцы» можно установить владельца данного справочника (родительский справочник).  У подчинённого справочника появляется обязательный реквизит «Владелец». Назначение родителя служит для установки связи по типу «Контрагенты – Договор контрагента».

Справочники 1С

Вкладка «Данные»

На данной вкладке указываются реквизиты и табличные части справочника.  В системе есть список стандартных реквизитов:

  • «Это группа»  — реквизит иерархического справочника, с типом значения «Булево». Предназначен для указания является ли этот элемент группой.
  • «Код» — реквизит с типом «Число» или «Строка». Предназначен для обозначения уникальности элемента. Рекомендуемый для выбора тип «Строка». Для реквизита «Код» необходимо задавать длину. В случае, если длина указывается равной 0, то реквизит будет не активным.
  • «Наименование» — обязательный стандартный реквизит любого справочника. Тип значения «Строка». Максимальная задаваемая длина равно 150 символам.
  • «Родитель» — реквизит иерархического справочника, с типом «Справочник Ссылка». Хранит ссылку на родительский справочник.
  • «Владелец» — реквизит подчинённого справочника, с типом «Справочник Ссылка». Хранит ссылку на владельца данного справочника.
  • «Пометка на удаление» — реквизит с типом «Булево». Предназначен для установления флага «пометка на удаление» в системе.
  • «Ссылка» — обязательный, не изменяемый реквизит с типом «Строка». Хранит уникальный идентификатор объекта GUID.
  • «Предопределенный» реквизит с типом «Булево». Отвечает за установку флага «Предопределенный».

Есть возможность добавить свои реквизиты.  В нашем примере это реквизиты «Дата рождения», «Пол», «Инн» и тд.

Так же можно добавлять свои табличные части. Например, «Контактная информация».  В табличной части добавляются столбцы — к примеру, «Тип», «Вид», «Регион» и тд.

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

Справочники 1С

Вкладка «Нумерация»

Вкладка состоит из двух флагов «Автонумерация» и «Контроль уникальности», а также реквизита «Серия кодов».

Значение «Автонумерация» рекомендовано устанавливать «Истина».

«Контроль уникальности» отвечает за уникальность кодов. Рекомендуется устанавливать значение «Истина».

«Серия кодов»  определяет правила нумерации справочника. Для выбора доступно три значения : «Во всём справочнике», «В пределах справочника», «В пределах подчинения владельцу».

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

Вкладка «Формы»

Служит для хранения всех форм представления справочника. Можно добавить неограниченное количество форм для разных случаев. Так же есть возможность создания отдельных форм для запуска обычного или управляемого приложения.  В верхней части можно указать основные формы запуска.

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

Вкладка «Ввод на основании»

Даёт возможность создавать новые элементы справочника на основании указанных в графе «Ввод на основании».

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

Вкладка «Права»

Предназначена для установления прав взаимодействия со справочником для каждой отдельной роли.

1С Справочники

Вкладка «Прочее»

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

Реквизит «Режим блокировки» можно устанавливать в режим «автоматический» или «управляемый». Реквизит «Полнотекстовый поиск» разрешает или запрещает полнотекстовый поиск.

Кнопка «Справочная информация» показывает содержимое справки об этом справочнике, доступное в режиме 1С. Предприятие.

Справочники 1С

Как оптимизировать работу с 1С?

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

Для того, чтобы обновления происходили без проблем, а на все вопросы вы могли получать ответы, предлагаем обратиться за сопровождением 1С к профессионалам, в компанию «ПРОГРАММЫ 93».

Почему клиенты выбирают нас?

ООО «ПРОГРАММЫ 93» — это компания с большим штатом сотрудников, в который входят не только специалисты 1С, но и бухгалтера, юристы и множество других экспертов смежных областей. Вы не зависите от одного сотрудника, вам не нужно тратить деньги на приглашенных специалистов для решения каждого вопроса, не нужно отвлекать штатных специалистов от стратегических задач.

Мы рады предложить вам:

  • доработку программы под ваши нужды;
  • поддержку продуктов 1С;
  • интеграцию программы с сайтом;
  • внедрение других продуктов 1С;
  • сопровождение бухгалтерского и налогового учета.

Позвоните по номеру телефона, указанному на сайте или заполните форму обратной связи, чтобы мы могли ответить на все возникающие вопросы и рассказать о том, как начать сотрудничество!

Занятие 10 281

Добавление перечисления

В режиме «Конфигуратор»

Откроем конфигуратор и создадим сначала новый объект конфигу-

рации Перечисление с именем ВидыНоменклатуры.

На закладке Данные добавим два значения перечисления: Материал

и  Услуга.

Для этого нажмем кнопку Добавить над списком значений перечисления (рис. 10.1).

Рис. 10.1. Данные перечисления «ВидыНоменклатуры»

Привязка номенклатуры к значениям перечисления «ВидНоменклатуры»

Чтобы привязать номенклатуру к значениям перечисления, мы сделаем следующее:

в режиме Конфигуратор создадим у справочника Номенклатура реквизит, который будет хранить значение перечисления;

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

282 1С:Предприятие 8.3. Практическое пособие разработчика

В режиме «Конфигуратор»

Добавим в справочник Номенклатура новый реквизит ВидНоменкла-

туры с типом ПеречислениеСсылка.ВидыНоменклатуры.

Для этого откроем окно редактирования объекта конфигурации Спра-

вочник Номенклатура и на закладке Данные нажмем кнопку Добавить

над списком реквизитов справочника (рис. 10.2).

Рис. 10.2. Данные справочника «Номенклатура»

В режиме «1С:Предприятие»

После этого запустим «1С:Предприятие» в режиме отладки.

В режиме 1С:Предприятие зададим для каждого элемента справочника Номенклатура соответствующее значение реквизита Вид номенклатуры

(рис. 10.3).

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

Занятие 10 283

Рис. 10.3. Данные справочника «Номенклатура»

Произвольное представление номенклатуры

Теперь, используя реквизит Вид номенклатуры, зададим произвольное представление номенклатуры в интерфейсе «1С:Предприятия».

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

Стандартное представление номенклатуры (как и любого другого элемента справочника) определяется свойством справочника Основное представление. По умолчанию это свойство установлено в значение В виде наименования (рис. 10.4).

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

(рис. 10.5).

284 1С:Предприятие 8.3. Практическое пособие разработчика

Рис. 10.4. Свойство справочника «Основное представление»

Рис. 10.5. Документ «Оказание услуги»

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

Занятие 10 285

В режиме «Конфигуратор»

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

ОбработкаПолученияПолейПредставления и ОбработкаПолуче-

нияПредставления менеджера соответствующего объекта.

Вернемся в конфигуратор, выделим в дереве объектов конфигурации справочник Номенклатура, вызовем контекстное меню и выберем

пункт Открыть модуль менеджера

Открывшийся модуль менеджера справочника заполним следующим образом (листинги 10.1, 10.2).

Листинг 10.1. Модуль менеджера справочника «Номенклатура»

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь; Поля.Добавить(«Наименование»); Поля.Добавить(«ВидНоменклатуры»);

КонецПроцедуры

Листинг 10.2. Модуль менеджера справочника «Номенклатура»

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь; Если ЗначениеЗаполнено(Данные.ВидНоменклатуры) Тогда

Представление = Данные.Наименование + » (» + НРег(Строка(Данные.ВидНоменклатуры)) + «)»;

Иначе Представление = Данные.Наименование;

КонецЕсли;

КонецПроцедуры

Прокомментируем этот код.

В обработчике события ОбработкаПолученияПолейПредставления

мы описываем, какие реквизиты будут участвовать в формировании представления документа. Для этого сначала мы устанавливаем параметр СтандартнаяОбработка в значение Ложь, а затем добавляем в массив Поля нужные реквизиты справочника. Если параметр

286 1С:Предприятие 8.3. Практическое пособие разработчика

СтандартнаяОбработка в обработчике не установлен в значение Ложь, то массив Поля будет заполнен реквизитами, используемыми для формирования стандартного представления данного объекта (в нашем случае – это Наименование).

Вобработчике события ОбработкаПолученияПредставления мы описываем алгоритм получения параметра Представление из массива полей, заданных нами в предыдущем обработчике. Данные, необходимые для формирования представления, передаются с помощью параметра Данные типа Структура. Для этого сначала мы устанавливаем параметр СтандартнаяОбработка в значение Ложь, а затем получаем представление номенклатуры путем добавления к ее наименованию вида номенклатуры, заключенного в скобки. Если параметр СтандартнаяОбработка в обработчике не установлен в значение Ложь, то система попытается сформировать стандартное представление объекта, исходя из переданных данных.

Врежиме «1С:Предприятие»

Запустим «1С:Предприятие» в режиме отладки.

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

(рис. 10.6).

Рис. 10.6. Документ «Оказание услуги»

Занятие 10 287

По аналогии с рассмотренным примером произвольные представления объектов конфигурации можно задавать не только для справочников, но и для документов, планов видов характеристик, планов счетов и т. п.

Регистрация расхода только той номенклатуры, которая является материалом

Если вы помните, на шестом занятии (стр. 225), когда создавались движения документа ОказаниеУслуги по регистру накопления ОстаткиМатериалов, мы сказали, что они не совсем правильные, поскольку в регистр будут попадать не только записи об израсходованных материалах, но и записи об оказанных услугах (листинг 10.3).

Листинг 10.3. Процедура «ОбработкаПроведения()» документа «ОказаниеУслуги»

Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

//Данный фрагмент построен конструктором.

//При повторном использовании конструктора внесенные вручную изменения будут утеряны!!!

//регистр ОстаткиМатериалов Расход

Движения.ОстаткиМатериалов.Записывать = Истина; Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл

Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура; Движение.Склад = Склад;

Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество; КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры

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

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

288 1С:Предприятие 8.3. Практическое пособие разработчика

Эта доработка будет не совсем эффективна с точки зрения производительности, зато позволит нам получить нужные данные в регистре

ОстаткиМатериалов.

ПРИМЕЧАНИЕ

Более эффективный вариант обработки проведения этого документа мы рассмотрим после изучения занятия № 14 (стр. 411), рассказывающего о механизме запросов «1С:Предприятия».

В режиме «Конфигуратор»

Скорректируем движения документа, исключив из обработки те строки табличной части, в которых находятся услуги.

Для этого откроем в конфигураторе модуль документа ОказаниеУслуги (контекстное меню документа – Открыть модуль объекта) и добавим в обработчик события ОбработкаПроведения это условие.

Текст следует добавить в начало цикла обхода табличной части документа после строки Для Каждого ТекСтрокаПереченьНоменкла-

туры Из ПереченьНоменклатуры Цикл.

В результате процедура ОбработкаПроведения должна выглядеть следующим образом (листинг 10.4).

Листинг 10.4. Движения документа «ОказаниеУслуги»

Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

//Данный фрагмент построен конструктором.

//При повторном использовании конструктора внесенные вручную изменения будут утеряны!!!

//регистр ОстаткиМатериалов Расход

Движения.ОстаткиМатериалов.Записывать = Истина; Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл

Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда

Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура; Движение.Склад = Склад;

Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;

КонецЕсли;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры

Занятие 10 289

Добавленный текст исключает выполнение операторов цикла для тех строк табличной части документа, в которых номенклатура не является материалом. Поясним это условие.

В переменной ТекСтрокаПереченьНоменклатуры содержатся на каждом шаге цикла данные текущей строки табличной части

ПереченьНоменклатуры.

Указывая через точку имя колонки Номенклатура (ТекСтрокаПе-

реченьНоменклатуры.Номенклатура), мы обращаемся к ссылке на элемент номенклатуры, которая содержится в этой строке табличной части.

Затем, указывая через точку ВидНоменклатуры (ТекСтрокаПере-

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

тура.

Полученное значение с помощью оператора сравнения (=) мы сравниваем со значением Материал перечисления ВидыНоменклатуры

(Перечисления.ВидыНоменклатуры.Материал).

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

В режиме «1С:Предприятие»

Запустим «1С:Предприятие» в режиме отладки и проверим работу процедуры проведения документа Оказание услуги.

Откроем список документов, выполнив команду Оказание услуг

в разделе Оказание услуг.

Откроем документ Оказание услуги № 1 и внесем в него следующие изменения:

удалим из табличной части строку, содержащую Транзистор Philips;

добавим услугу – Подключение воды;

добавим материал – Шланг резиновый (рис. 10.7).

290 1С:Предприятие 8.3. Практическое пособие разработчика

Рис. 10.7. Измененный документ «Оказание услуги № 1»

Обратите внимание, что цены подставляются автоматически из  регистра сведений Цены.

Нажмем кнопку Провести в командной панели формы документа.

Затем выполним команду Остатки материалов в панели навигации формы, чтобы перейти к записям регистра Остатки материалов, связанным с данным документом (рис. 10.8).

Рис. 10.8. Записи регистра «Остатки материалов»

Как мы видим, в движения по регистру Остатки материалов включаются только строки, содержащие материалы. Запись про услугу Подключение воды в движения не попала.

Это особенно заметно, так как теперь в поле Материал регистра Остатки материалов представление номенклатуры включает также и  вид номенклатуры, как мы задали в предыдущем разделе.

Соседние файлы в папке Учебники

  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • 1с проверка на существование реквизита табличной части
  • 1с программное изменение проверки заполнения реквизита
  • 1с расширение добавление реквизитов в регистр сведений
  • 1с реквизит расширения не выводится в отчет расширения
  • 1с реквизит управляемой формы дополнительные реквизиты