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

Справочники в 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С и документы 1С. Работа пользователя со справочниками и документами в 1С состоит из заполнения полей на форме.

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

Рассмотрим подробно тему реквизитов в 1С.

Что такое Реквизиты 1С

Каждый справочник и документ 1С состоит из набора полей. Такие поля называются реквизиты 1С (для программиста 1С).

В конфигураторе, в дереве конфигурации 1С, раскройте любой справочник или документ и Вы увидите ветку Реквизиты. Это список реквизитов (полей) справочника.

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

Каждый реквизит 1С имеет свойства, в которых указано какой вид значения хранится в реквизите (строка, число и т.п.) и как с ним будет работать пользователь.

Нажмите правой кнопкой на любой реквизит 1С и нажмите Свойства. В окне справа откроется список свойств выбранного реквизита.

Основные свойства реквизитов 1С:

  • Имя – наименование реквизита 1С в языке 1С (внимание – в имени реквизитов не должно быть пробелов и знаков препинания)
  • Синоним – наименование реквизита каким его увидит пользователь в режиме Предприятие
  • Тип – указывает какие данные можно будет хранить в реквизите 1С, нажмите на кнопку «…», чтобы изменить тип; основные типы:
    o Число — используется для цифр, а также для радиопереключателя
    o Строка — может быть ограничена по длине, дело в том, что не везде возможно использование неограниченной длины
    o Дата
    o Булево — для того, чтобы на форме была галочка (значения Истина/Ложь или Да/Нет)
    o СправочникСсылка или ДокументСсылка – выбор значения справочника или документа.

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

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

Стандартные реквизиты 1С

Как Вы заметили, на форме справочника есть реквизиты 1С, которые отсутствуют в списке в конфигураторе: группа, наименование, БИК.

В форме списка справочника тоже есть реквизиты 1С, которых нет в списке: пометка удаления.

Это – стандартные реквизиты 1С. Что это такое? У каждого объекта 1С есть набор реквизитов 1С по умолчанию. У справочников это, например – код и наименование. У документов это – дата и номер.

Стандартные реквизиты 1С можно посмотреть следующим образом:

  • Зайдите в редактор объекта 1С (справочника или документа), нажав на него два раза мышкой
  • В открывшемся редакторе выберите закладку Данные
  • Здесь Вы можете настроить стандартные реквизиты Код и Наименование справочника
  • Нажмите кнопку Стандартные реквизиты 1С, чтобы посмотреть полный список.

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

Начиная с версии 1С 8.2.14 в 1С появился новый Объект 1С – Общие реквизиты 1С. С помощью него можно добавить реквизит (поле), который будет присутствовать сразу во множестве справочников и документов.

Свойства общего реквизита 1С:

  • Автоиспользование – добавляет общий реквизит 1С сразу во все справочники и документы
  • Состав – позволяет добавить общий реквизит 1С только в нужные справочники и документы (автоиспользование тогда в значение Не использовать).

Как добавить реквизит 1С

Нажмем правой кнопкой на ветку Реквизиты 1С нужного справочника и выберем Добавить.

Введем нужно Имя реквизита 1С, например «АдресОфиса» и синоним «Адрес офиса». Тип оставим по умолчанию Строка, но поставим галочку Неограниченная длина.

Добавим еще один реквизит 1С точно так же, только выберем тип Булево, назовем его «РаботаетПоВыходным».

Как вывести реквизит на форму 1С (толстый клиент 1С)

Раскроем ветку Формы того же справочника. Чтобы открыть форму — выберем форму элемента и нажмем на нее два раза мышкой.

Потяните мышкой за край формы и растяните ее (необязательный пункт).

В панели конфигуратора нажмите кнопку «Размещение данных». Также можно использовать меню Форма / Размещение данных.

Вы видите – наши реквизиты на форму не выведены. Установите на них галочку. А также галочки Вставить надписи и Разместить автоматически.

Вуаля!

Как вывести реквизит на форму 1С (тонкий клиент 1С)

Раскроем ветку Формы того же справочника. Выберем форму элемента и нажмем на нее два раза мышкой.

На закладке Реквизиты раскройте строку Объект. Вы увидите список реквизитов, добавленных ранее в справочник.

Теперь просто перетяните из правого окна в левую нужный реквизит и он появится на форме.

Вуаля!

Реквизиты формы 1С

В толстом клиенте у формы есть свои собственные реквизиты. Они находятся на закладке Реквизиты.

Эти реквизиты не сохраняются в базе данных, однако их можно использовать на форме для полей, которые нужны для работы с формой.

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

Периодические реквизиты 1С

В 1С версии 7.7 были периодические реквизиты. Их смысл таков: значение у реквизита разное в разные даты. Например, значение на 1 сентября – одно, а на 1 октября – другое. У одного и того же реквизита.

В 1С 8 периодических реквизитов нет. Это реализуется следующим образом:

  • Добавляем регистр сведений и делаете его периодическим. Период может быть – секунда, день, месяц, квартал, год.

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

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

  • Теперь пользователь в форме элемента выбирает меню Перейти / ИмяСозданногоРегистра и может смотреть и изменять периодические реквизиты. Возможно вывести их на форму, но в этом случае придется дополнительно программировать.

Загрузка…

Не использовать стандартные реквизиты в справочнике.

Я
   fdgd98

14.11.14 — 09:22

Есть справочник, у него есть стандартный реквизит «наименование», его длина ограничена я понимаю. Поэтому создал свой реквизит с нужной мне длинной. Но при запуске в режиме предприятия, в форме элемента этого справочника есть поле ввода стандартного реквизита «наименование» — каким образом это поле ввода убрать? А то при заполнении пишет что надо заполнить это «наименование»

  

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

   butterbean

1 — 14.11.14 — 09:24

сделай длину наименования 0, убери с формы это поле….

   butterbean

2 — 14.11.14 — 09:24

(1)+ если все типовое — просто сделай свою форму

   fdgd98

3 — 14.11.14 — 09:25

(1) а где меняется длина стандартного реквизита , в свойствах справочника я что-то не нашел…(

   fdgd98

4 — 14.11.14 — 09:26

епт..нашел

   fdgd98

5 — 14.11.14 — 09:27

Спасибо!

   Wobland

6 — 14.11.14 — 09:54

длина пишется с двумя Н, только если она очень длинная

   User_Agronom

7 — 14.11.14 — 09:57

(6) Если очень длинная, то с тремя, а в исключительных случаях с четырьмя. А у ТС простая, двух-энная длина.

   Обработка

8 — 14.11.14 — 09:59

(0) Какой длины вам нужен был реквизит и какое ограничение у Наименования?

  

Svetka

9 — 14.11.14 — 10:26

(0) А основное представление у элемента в виде наименования (как правило), поэтому с формы надо убрать, но в наименование что — то писать (программно)

Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.

Справочники

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

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

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


Справочники

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


Справочники

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


Справочники

Справочники могут поддерживать иерархическое расположение элементов. Например, в справочнике Номенклатура могут быть созданы группы: Бытовая техникаОбувьПродукты и т. д., в которых располагаются элементы, относящиеся к этим группам. Кроме того группы справочника могут включать в себя и другие группы, создавая тем самым многоуровневую иерархическую структуру.


Справочники

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


Справочники

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


Справочники

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

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


Справочники

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

Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в справочнике, система поддерживает несколько форм представления справочника. Система может автоматически генерировать все нужные формы справочника. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:


Справочники

Форма списка

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


Справочники

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

Для просмотра и изменения данных отдельных элементов справочника используется форма элемента. Как правило, она представляет данные в удобном для восприятия и редактирования виде:


Справочники

Форма группы

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


Справочники

Форма выбора, форма выбора группы

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


Справочники

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

Макеты

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


Справочники

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

стандартный реквизит наименование

Автор KireevSP, 13 авг 2014, 09:17

0 Пользователей и 1 гость просматривают эту тему.

Помогите пожалуста.

1с 8.3
Есть справочник карточки клиентов. В нем есть реквизиты отдельно улица, дом, квртира. Как сделать так чтобы наименование (стандартный реквизит) заполнялось автоматически из этих данных.


в процедуру ПередЗаписью()
Наименование = Улица + » » + Дом + » » + Квартира;


Цитата: KireevSP от 13 авг 2014, 09:17
Помогите пожалуста.

1с 8.3
Есть справочник карточки клиентов. В нем есть реквизиты отдельно улица, дом, квртира. Как сделать так чтобы наименование (стандартный реквизит) заполнялось автоматически из этих данных.

Надо код написать ПриИзменении() Реквизитов улица, дом, квртира


Мне так совсем не понятно, я чайник чайником. Эту базу я сам делал для того что бы избавится от бумажных журналов. Коды писать не умею. Работал только на уровне создания справочников и документов. Вот теперь когда начали заносить данные появилась проблема- визуально плохо вопринимаются эти данные когда они поотдельности.

Добавлено: 13 авг 2014, 12:48


&НаКлиенте
Процедура УлицаПриИзменении(Элемент)
    Если Улица <> «» Тогда
        ЗаполнениеНаименования();
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ДомПриИзменении(Элемент)
    Если Дом <> «» Тогда
        ЗаполнениеНаименования();
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура КвартиаПриИзменении(Элемент)
    Если Квартира <> «» Тогда
        ЗаполнениеНаименования();
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ЗаполнениеНаименования()

      Наименование = Улица +» «+ Дом +» «+ Квартира;   

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

Что не так?


Цитата: KireevSP от 13 авг 2014, 11:11
Мне так совсем не понятно, я чайник чайником. Эту базу я сам делал для того что бы избавится от бумажных журналов. Коды писать не умею. Работал только на уровне создания справочников и документов. Вот теперь когда начали заносить данные появилась проблема- визуально плохо вопринимаются эти данные когда они поотдельности.

Добавлено: 13 авг 2014, 12:48


&НаКлиенте
Процедура УлицаПриИзменении(Элемент)
    Если Улица <> «» Тогда
        ЗаполнениеНаименования();
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ДомПриИзменении(Элемент)
    Если Дом <> «» Тогда
        ЗаполнениеНаименования();
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура КвартиаПриИзменении(Элемент)
    Если Квартира <> «» Тогда
        ЗаполнениеНаименования();
    КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ЗаполнениеНаименования()

      Наименование = Улица +» «+ Дом +» «+ Квартира;   

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

Что не так?

Может попробовать делать на &НаСервере. Не все просмотрел а что пишет ошибка или ка?


просто ни чего не изменилось. наименование пустое

Добавлено: 13 авг 2014, 13:01


ошибок не выдает


ЗаполнениеНаименования(«Сюда надо какой то параметр передать»);

Процедура ЗаполнениеНаименования(«Какой то параметр»)
    Объект.Наименование = ……………
КонецПроцедуры


и не обязательно
&НаСервере
Процедура ЗаполнениеНаименования()

вполне себе сработает и на клиенте.
да еще и всю форму ради наименования на сервер тащите (

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


Цитата: cska-fanat-kz от 14 авг 2014, 07:13
и не обязательно
&НаСервере
Процедура ЗаполнениеНаименования()

вполне себе сработает и на клиенте.
да еще и всю форму ради наименования на сервер тащите (

Разве изменение реквизитов возможно на клиенте?


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

Объект.Наименование = Объект.Улица +» «+ Объект.Дом +» «+ Объект.Квартира;

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


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

Для начала «переименуем» для пользователя Наименование в ФИО. Можно открыть форму списка и задать в палитре свойств у поля Наименование строковое представление «ФИО» — так же, как мы сделали это в форме регистра у поля Период.

Но в этот раз мы поступим иначе. У справочника Друзья уже сейчас существует несколько форм — формы списка и элемента справочника. Причем форму списка мы создали в конфигураторе, а форму элемента платформа генерирует на лету. Чтобы не думать о формах, переименуем Наименование в ФИО в одном месте — в свойствах стандартных параметров. Для этого находим справочник Друзья в списке объектов метаданных, нажимаем на него правой кнопкой мыши и выбираем Стандартные реквизиты.

Рисунок 44. Стандартные реквизиты

В открывшемся окне находим Наименование и в палитре свойств указываем синоним ФИО.

Рисунок 45. Стандартные реквизиты

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

Рисунок 46. Многострочность у Комментария

Рисунок 47. Добавление реквизита в управляемую форму

Рисунок 48. Обновленная форма списка друзей

В своем разделе (Контакты) список друзей тоже обновился. Кроме этого, форма элемента справочника, которая генерируется платформой на лету, тоже учитывает все изменения, которые мы недавно внесли — ФИО и многострочный Комментарий.

Рисунок 49. Обновленная форма элемента справочника Друзья

Добавим еще несколько штрихов в нашу систему. Приведем в удобочитаемый вид справочник События. «Переименуем» для пользовательского режима реквизит Наименование в Название (через Стандартные реквизиты), реквизит табличной части Друг — в Участник (при помощи указания синонима), а реквизит Описание сделаем многострочным и с расширенным редактированием.

Рисунок 50. Синоним стандартного реквизита Наименование

Рисунок 51. Синоним реквизита друг

Рисунок 52. Многострочность и расширенное редактирование

Проверяем изменения. Справочник События выглядит теперь намного лучше.

Рисунок 53. Обновление справочника События

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

Ниже мы рассмотрим настройку и проектирование справочника из конфигуратора на примере справочника «Номенклатура».

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

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

Вкладка «Иерархия справочника»

Здесь устанавливается иерархичность справочника.

Иерархия в 1С 8.3 бывает двух типов — «групп и элементов » и «элементов «. Отличается тем, что в первом случае родителем (папкой) может быть только папка (группа), а во втором случае родителем может быть и элемент.

«Размещать группы сверху» — флаг отвечает за отображение групп в форме списка.

Также в настройках можно ограничить количество групп иерархии справочника соответствующей настройкой.

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

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

Владельцем справочника могут также быть следующие объекты метаданных: , .

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

Получите 267 видеоуроков по 1С бесплатно:

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

У справочника есть набор стандартных реквизитов, которые не редактируются программистом 1С 8.2, список их можно увидеть, нажав кнопку «Стандартные реквизиты»:

Остановлюсь на каждом подробнее:

  • ЭтоГруппа — реквизит с типом булево, показывающий, группа это или элемент. Доступен только в иерархическом справочнике. Обратите внимание, значение этого реквизита невозможно изменить в режиме 1С: Предприятие .
  • Код — реквизит, тип число или строка (как правило строка). Номер, присваиваемый системой автоматически. Как правило, рассчитывается как (предыдущий код + 1). Рекомендую использовать именно строковый тип, потому как сортировка числовых значений происходит не так, как нужно. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Код, укажите в длине строки ноль.
  • Наименование — реквизит, обязательный к заполнению, строкового типа. Максимальная длина строки — 150 символов. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Наименование, укажите в длине строки ноль.
  • Родитель — реквизит, имеющий тип СправочникСсылка. . Доступен только в иерархическом справочнике. Указывает на вышестоящего родителя в иерархии. Если Элемент или Группа находятся в корне справочника, указывается значение Справочник. .ПустаяСсылка.
  • Владелец — ссылка на элемент-владелец текущего элемента (группы) справочника. Доступен только в подчиненном справочнике 1С .
  • ПометкаУдаления — реквизит с типом булево. Отвечает за отображение «пометки удаления» в системе. Помеченный на удаление элемент считается непригодным к использованию, однако на нём могут оставаться старые движения в документах.
  • Ссылка — поле строкового типа. В этом реквизите хранится уникальный идентификатор объекта — GUID. То, что в системе мы видим в визуальном отображении под название «ссылка», — это всего лишь представление объекта. Невозможно изменить.
  • Предопределенный — тип булево, отображает, является ли элемент предопределенным, об этом позже. Невозможно изменить.

На вкладке «Данные» так же указывается представление справочника в системе, до версии 8.2.16 представление могло быть лишь Кодом или Наименованием. В свежих версиях платформы (начиная с 8.3) представление можно описать самостоятельно в модуле менеджера с помощью обработчика «ОбработкаПолученияПредставления».

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

Здесь указываются настройки справочника по части нумерации. Рекомендуется использовать именно автонумерацию. Контроль уникальности — флаг, который помогает, если нужно, сделать код уникальным. Если с установленным флагом Вы попытаетесь записать элемент справочника с неуникальным кодом, в 1С Вы получите сообщение «Код справочника стал неуникальным».

Серия кодов — определяет, как нумеровать справочник, можно ввести нумерацию справочника в разрезе владельца. Например, у контрагента «Рога и копыта» будет иметься своя нумерация договоров — «1, 2, 3» и тд.

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

Тут описываются формы для справочника. Если конфигурация запускается как в обычном, так и управляемом режиме, тогда вкладок с формами по умолчанию будет две: «основные» и «дополнительные» — для обычного и управляемого приложения разные.

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

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

На вкладке можно получить быстрый доступ к основным модулям справочника — модулю объекта и модулю менеджера.

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

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

9. Состав реквизитов документов.

Любой документ состоит из ряда составляющих его элементов оформления (даты, подписи, и т.д.),которые называются реквизитами . РЕКВИЗИТЫ обязательные элементы оформления служебного документа. Совокупность реквизитов документа отражает его форму. Следовательно, для того чтобы документ отвечал своему назначению, он должен быть составлен в соответствии с формой, принятой для данной категории документов. От полноты и качества оформления документов зависит их доказательная (юридическая) сила, так как они служат свидетельством, подтверждением конкретных фактов, явлений, событий.

Состав реквизитов насчитывает 30 наименований и приведен в государственном стандарте ГОСТ Р 6.30-2003. Реквизиты располагаются на документе каждого вида в строго определенном стандартом порядке.

Список реквизитов по ГОСТ Р 6.30-2003:

01. Государственный герб Российской Федерации

02. герб субъекта Российской Федерации

03. эмблема организации или товарный знак

04. код организации по Общероссийскому классификатору предприятий и организаций (ОКПО)

05. основной государственный регистрационный номер (ОГРН) юридического лица (присваивается налоговыми органами).

06. идентификационный номер налогоплательщика/код причины постановки на учет (ИНН/КПП) проставляют в соответствии с документами, выдаваемыми налоговыми органами

07. код формы документа проставляют по Общероссийскому классификатору управленческой документации (ОКУД)

08. наименование организации

09. справочные данные об организации (индекс предприятия связи, почтовый адрес, телефон, телеграфный адрес, факс, e-mail, название банка и номер счета в банке).

10. наименование вида документа

11. дата документа

12. регистрационный номер документа

14. место составления или издания документа

16. гриф утверждения документа

18. заголовок к тексту

19. отметка о контроле

20. текст документа

21. отметка о наличии приложения

23. гриф согласования документа

24. визы согласования документа

25. оттиск печати

26. отметка о заверении копии

27. отметка об исполнителе

28. отметка об исполнении докеумента и направлении его в дело

29. отметка о поступлении документа в организацию

30. идентификатор электронной копии документа

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

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

Вернемся в конфигуратор.

Откроем Справочник Клиенты, на закладке Данные нажмем кнопку Стандартные реквизиты . Выделим в списке реквизитов реквизит Наименование, вызовем его контекстное меню и выберем пункт Свойства (рис. 64а).

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

В палитре свойств стандартного реквизита Наименование видим, что свойство Проверка заполнения по умолчанию установлено значение Выдавать ошибку (рис. 64б). Это означает, что если реквизит Наименование не заполнен,то будет выведено сообщение об ошибке.

Рис. 64б. Палитра свойств стандартного реквизита Наименование

IV. ИЕРАРХИЧЕСКИЙ СПРАВОЧНИК

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

1. Создадим иерархический справочник с реквизитами с наименованием Подразделения (рис. 65а).

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

2. Отметим, что справочник участвует во всех подсистемах Бухгалтерия, Оказание услуг, Расчет зарплаты (рис. 65б).

Рис. 65б. Определение списка подсистем,в которых участвует справочник

3. На закладке Иерархия установим флажок Иерархический справочник , Количество уровней иерархии – 2, ограничение количества уровней иерархии (рис. 65в).

Рис. 65в. Установка признака иерархического справочника

4. Установим видимость создания объектов справочника в подсистеме Расчет зарплаты (рис. 65г).

Рис. 65г. Окно настройки подсистем

5. Кроме типовых реквизитов справочник должен содержать другие данные (рис. 65д). На закладке данные создайте новые реквизиты:

Наименование – Должность, тип данных – строка, длина – 20;

Наименование – дата рождения, тип данных – дата;

Наименование – оклад, тип данных – число, длина – 6, неотрицательное.

Рис. 65д. Добавление новых реквизитов в справочник

6. При создании нового справочника автоматически создаются два реквизита: код и наименование. Реквизит Код необходим, а вот наименование не совсем логичное название реквизита. Заменим название реквизита Наименование на реквизит ФИО . Для этого откроем вкладку Формы и добавим Форму элемента справочника (рис. 65е).

Рис. 65е. Конструктор формы справочника

Рис. 65ж. Список элементов (реквизитов) формы справочника

7. На экране откроется Окно редактирования форм, которое имеет три области: реквизиты, типы реквизитов, внешний вид формы (рис. 65з).

Рис. 65з. Окно редактирования форм

В верхнем левом поле, где представлены реквизиты, выделите реквизит Наименование. Откройте свойства данного поля и замените заголовок на ФИО (рис. 65и).

Рис. 65и. Фрагмент Свойства реквизита Наименование Формы справочника Подразделения

Обновим конфигурацию БД и запустим ее в режиме 1С: Предприятие.

Созданный справочник имеет иерархическую структуру:

Вначале создаем подразделения нажатием на кнопку (рис. 65к);

Рис. 65к. Форма создания новой группы в справочнике Подразделения

Потом заносим информацию по сотруднику (рис. 65л).

Рис. 65л.Форма создания нового сотрудника в справочнике Подразделения

ВВОД ДАННЫХВ БД

1. Введем в разработанный справочник 4 подразделения: Дирекция, Бухгалтерия, Мастера, Склад (рис. 65м).

Рис. 65м. Форма создания группы справочника Подразделения

2. В каждое подразделение введем данные по сотрудникам: Дирекция – 3 человека, Бухгалтерия – 2 человека, Мастера – 8 человек, Склад – 2 человека. Данные для ввода сформулируйте самостоятельно по смыслу разрабатываемого решения (рис. 65н).

1С очистить реквизиты формы

Для того чтобы очистить реквизит в форме, следует присвоить этому реквизиту значение по умолчанию. Например, для реквизита «Склад» имеющего тип » СправочникСсылка.Склады » фрагмент кода будет выглядеть следующим образом:

Как очистить реквизит формы, имеющий ссылочный тип?

Например: реквизит (имя Материал) имеет тип СправочникСсылка.Номенклатура, чтобы его очистить программно нужно выполнить следующий код:
Код 1C v 8.х

Для очистки ручками, нужно выделить реквизит и нажать Shift+F4

Похожие FAQ

Еще в этой же категории

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

Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип – Произвольный, Использование – Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 9
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Как обновить динамический список или реквизит на форме клиента? 7
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Форма

Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Посмотреть все в категории Работа с Формой (Диалог) и её элементами

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

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

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

В нашем случае потребуются Реквизиты и Табличные части. Эти компоненты метаданных содержат значение КоллекцияОбъектовМетаданных, которую можно обойти в цикле Для каждого.

У каждого из элементов коллекции тоже много свойств, в частности есть очень полезное свойство Тип, через которое можно получить тип того или иного реквизита. Полный список свойств можно узнать, например, в режиме отладки через команду Вычислить выражение. Мне же для обращения к реквизиту или табличной части потребуется свойство Имя.

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

Для Каждого Реквизит Из Контрагент . Метаданные ( ) . Реквизиты Цикл
Контрагент [ Реквизит . Имя ] = Неопределено ;
КонецЦикла ;

Для Каждого ТаблЧасть Из Контрагент . Метаданные ( ) . ТабличныеЧасти Цикл
Контрагент [ ТаблЧасть . Имя ] . Очистить ( ) ;
КонецЦикла ;

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

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

Как скрыть реквизиты документа или справочника в универсальных отчетах ?

Добрый день товарищи!
Вот такой вопрос, думаю уже кто то сталкивался, интересно как это можно сделать.
Есть предположим у справочника или документа реквизиты, которые я не хочу чтобы были видны определенным ролям пользователей.
Ограничивать через RLS нельзя, потому что они используются при работе, да и к тому же ограничение по RLS не покажет что там записано, в реквизите, а сам реквизит будет виден, а хочется скрыть сам факт присутствия этого реквизита.
Например реквизит будет называться СЕКРЕТНО_НаОсосбомКонтроле.
На форме справочника(документа) просто скрываем этот реквизит, ориентируясь на префикс в названии «СЕКРЕТНО_»
Проблема в том, что если будем строить любой отчет на СКД, то потом пользователь при настройках отчета в дереве полей этот реквизит увидит, а хочется его оттуда убрать, просто чтобы самого названия реквизита не было видно при настройке отборов или группировок.
Вот интересно как же его из списка Отборов, группировок строк и колонок — убрать, чтобы просто его там не было.

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(21) ture, Замечательно! Хорошо, я поставил @ (хотя я до этого ставил СЕКРЕТНО_, что по сути одно и то же — одинаковый префикс)
С скрытием реквизитов на формах — проблем нет — при отрисовке формы проверяем и скрываем.
Вопрос что делать с универсальными отчетами, построенными на СКД, когда данный реквизит виден в структуре метаданных в окнах группировки и отбора. Как оттуда убрать этот реквизит ?

  • Скопировать ссылку
  • Перейти

@#$@#! Да сто раз уже сказали, как! Читать (18), только, блин, с открытыми глазами и включённым мозгом!

  • Скопировать ссылку
  • Перейти

(23) vasyak319, Да, я в курсе что создается

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Глобальный контекст (Global context)
ПравоДоступа (AccessRight)
Синтаксис:

ПравоДоступа(<Право>, <ОбъектМетаданных>, <Пользователь/Роль>, <СтандартныйРеквизитСтандартнаяТабличнаяЧасть>)
Параметры:

Тип: Строка.
Название права доступа. Могут быть использованы следующие значения:
Чтение (Read) — чтение;
Добавление (Insert) — добавление;

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

(42) a-novoselov, Так сделать можно. Согласен. Но не подходит по той причине, что я хочу поставить в невидимые в том числе родные для типового решения реквизиты (те, которые хочу, может даже все. ) 🙂
Вот по этому технически — да, так как Вы предлагаете сделать можно и даже правильно, но данную задачу таким способом не решить (очень трудозатратно решить).

Благодаря дельным советам, в отчетах уже всё заработало 🙂 Остаются «штрихи».
При открытии форм надо убирать «закрытые от просмотра» реквизиты.
Я так понимаю что подписки на событие «при открытии формы» в 1С 8.2 Толстый клиент неуправляемые формы — НЕТ.
Так ведь?
То есть в каждой форме надо процедуру «зачистки» явно вызывать из процедуры «ПриОткрытии()» .
Серьезно ? Но мне это не нравится. Честное слово не нравится! Я хочу чтобы при открытии любой формы, в том числе внешнего отчета, (ну дополнительные внешние отчеты и обработки) нужный мне код вызывался, и каждую обработку для этого менять я категорически не хочу. Можно это как-то организовать ? На таймере например проверят список активных форм, если новая форма появилась — то её обрабатывать? Или еще как то?

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

А опции в 8.2 работать будут? А на обічніх формах тоже реквизит не покажут?

(1) alex_4x, Вопрос, на чём предполагается реализовывать? (Релиз платформы). Ну и конечно неплохо бы узнать для какой конфигурации (что бы понять какой функционал там уже есть).

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

Платформа 1С:Предприятие 8.2 (8.2.19.83)
Конфа УПП 1.3 (но мне кажется это совершенно не принципиально)

Закладка Функциональные опции в конфигураторе есть и там даже что то уже сделано (в базовом решении)
Но я никогда с этими функциональными опциями не работал. Может посоветуете почитать где, чтобы понятно и с примерами было.
Спасибо!

  • Скопировать ссылку
  • Перейти
  • Скопировать ссылку
  • Перейти

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

НА ТОЛСТОМ КЛИЕНТЕ НЕ РАБОТАЕТ (не только на формах, но самое главное в форме выбора поля отчета на СКД)!

А интересно, формочку эту заменить или подменить или както обработать перед выбором можно ? Мне кажется она полностью платформой делается и на неё вообще никак повлиять нельзя. Или можно всё таки как-то .

Содержание

Справочники

Описание

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

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

Справочник обычно описываются следующим набором данных:

  • Пользовательские реквизиты — при проектировании пользователь определяет какие данные, какого типа будут храниться в справочнике. Например у справочника Банковские счета будут определены реквизиты: номер счета, банк и тд, для справочника контрагенты ИНН, КПП и тд.

  • Предопределенные реквизиты — любой справочник обладает набором предопределенных реквизитов.

  • Табличные части — справочник может любое количество табличных частей.

Предопределенные реквизиты

У каждого справочника есть номер и наименование. В принципе их можно отключить, указав длину 0. Так же код может быть числовым или текстовым, если код текстовый для удобства сортировки система дополняет код лидирующими нулями на всю длину кода, например если у справочника указана длина кода 9 и справочнику был присвоен код 3 то система дополнит нулями до такого вида: «000000003». Также в случае если имеется распределенная база в код обычно добавляется префикс той базы в которой был создан элемент, например: «ЦН0000003». Нужно учитывать эту особенность если вы соберетесь указывать числовой код, этот объект не сможет корректно работать в распределенной базе. У справочника есть и другие предопределенные реквизиты:

  • ЭтоГруппа – Имеет смысл только для иерархических справочников. Указывает на то что элемент является группой.

  • Родитель — Имеет смысл только для иерархических справочников. Указывает на группу или элемент который является родителем для этого справочника.

  • Владелец – Имеет смысл только для подчиненных справочников. Указывает на владельца данного справочника.

  • ПометкаУдаления – атрибут с типом булево, указывает помечен ли элемент на удаление или нет.

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

  • Предопределенный – атрибут с типом булево указывает на то, что элемент создан в конфигураторе.

Иерархичность.

Иерархия это способность выводить справочник в виде дерева. Эта возможность бывает очень удобной, в случаях когда в справочнике содержится много информации. В таких случаях бывает полезно разложить номенклатуру «по полочкам». При включении иерархичности у справочника, добавляются два стандартных реквизита ЭтоГруппа и Родитель. Манипулируя значением реквизита Родитель, можно переназначать родителей элемента. Строится иерархия на группах, в эти группы могут входить другие элементы или другие группы. Аналогию можно провести с проводником windows или с большинством файловых систем если вам будет удобно: есть папки в которых могут быть как файлы так и папки в которых в свою очередь тоже могут быть и файлы и папки итд. Иерархия может работать и без групп. То есть родителями могут выступать другие элементы справочника. Такой вид иерархии называется иерархия элементов. Если мы настроили иерархию, у нас появляется возможность настраивать, для какого типа могут использоваться реквизиты, для групп, элементов, или и для того и для другого. Иерархия настраивается на закладке Иерархия свойств справочника.

Подчиненность

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

Ввод по Строке

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

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

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

НашаФирма = Справочники.Контрагенты.НашаДочерняяФирма

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

Важно. Контроль за удалением предопределенных элементов лежит на плечах разработчиков, а не платформы.

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

ПредОпрЭлемент = Справочники.МойСправочник.НайтиПоКоду("КодЭлемента").ПолучитьОбъект();
ПредОпрЭлемент.ИмяПредопределенныхДанных = “”;
ПредОпрЭлемент.Записать();

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

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

Нашафирма = Справочники.Организации.НайтиПоНаименованию("ООО Рога и копыта")

или что еще хуже

Нашафирма = Справочники.Организации.НайтиКоду("000112")

Можно просто указать:

Нашафирма = Справочники.Настройки.НашаФирма.Значение

подробнее можно почитать здесь http://infostart.ru/public/275145/

Классы для работы со справочниками.

Все классы справочника можно увидеть в ветке Прикладные объекты –> Справочники.

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

Справочник менеджер

Справочник менеджер – можно получить с помощью переменных глобального контекста:

Номенклатура = Справочники.Номенклатура;

Этот класс служит для:

  • Поиска по наименованию, коду или другому реквизиту.

    Ножницы = Справочники.Номенклатура.НайтиПоНаименованию("Ножницы канцелярские");
  • Программного создания групп или элементов:

    НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
    НовыйЭлемент.Реквизит1 = "КакоеТоЗначение";
    НовыйЭлемент.Записать();
  • Делать выборки:

    Выборка = Справочники.Номенклатура.Выбрать()

    Получать пустые ссылки:

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

И много еще разных возможностей которые можно наблюдать в синтаксис помощнике в ветке: Прикладные объекты – >Справочники – СправочникМенеджер.<ИмяСправочника>

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

Справочник ссылка – самый часто используемый тип. Используется для чтения данных справочника. Его можно получить с помощью НайтиПоНаименованию, НайтиПоКоду и др методов класса СправочникМенеджер. Так же его можно получить с помощь класса Выборка и этот тип данных хранится в реквизите Cсылка объекта класса Справочник объект.
В этом классе нам доступны все реквизиты справочника, табличные части и все стандартные реквизиты. Абсолютно все свойства этого класса нам доступны только на чтение. Для того что бы изменять реквизиты справочника нам нужен класс Справочник Объект. Получить его можно с помощью метода Получить Объект().

Справочник Объект

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

Справочник Выборка

Справочник Выборка получается с помощью методов Выбрать и Выбрать Иерахически он позволяет обойти элементы справочника в цикле, с помощью метода Следующий().

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

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

Несмотря на то, что неоднократно рассматривается поиск элемента справочника по наименованию, «зашивать» в код значения из базы данных считается дурным тоном.

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

Поиск по коду

Для поиска по коду используется функция НайтиПоКоду(). Для использования этого метода необходимо в параметре «Код» указать код, по которому будет производиться поиск. Если в качестве кода указывается полный путь с учетом иерархии (уровни справочника разделяются символом «/»), то второй параметр поиск по полному коду, необходимо установить в Истина. Например:
Номенклатура «Слонопотам» с кодом «001142» находится в папке «Мягкие Игрушки» с кодом «000826» которая находится в папке «Игрушки» с кодом 000375. Тогда можно найти ее с помощью вот такой строки

Слонопотам = Справочники.Номенклатура.НайтиПоКоду("000375/000826/001142", Истина);

Или можно искать сразу:

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

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

Выборка

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

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

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

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

Элементы и группы справочников, можно создавать и не посредственно из программного кода. Для этого используется следующий код:

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

Группа справочника создается аналогично с помощью метода СоздатьГруппу()
В том случае, если у справочника установлено свойство Автонумерация код указывать не нужно, он устанавливается автоматически.

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

Иногда возникает необходимость проверить заполнено ли значение с типом «Справочник.Ссылка». Такая необходимость может возникнуть, когда реквизит какого либо объекта имеет тип «Справочник.Ссылка» или когда вы например ищете элемент справочника по коду или наименованию, или в ряде других случаев, когда метод возвращает пустую ссылку на справочник. Есть несколько способов это сделать:

  1. Использовать метод глобального контекста ЗначениеЗаполнено() который можно применить к любому типу а не только к справочнику. Доступно и на клиенте и на сервере.

  2. Сравнить c пустой ссылкой менеджера этого справочника. Например:

    Если ПроверяемоеЗначение = Справочники.Номенклатура.ПустаяСсылка() Тогда

    Только для сервера

  3. Использовать метод ‘Пустая()’ доступный на клиенте для объектов класса «Справочник ссылка».

Проверка элемента справочника на вхождение в какую либо группу или подчинение элементу

Когда мы говорим о проверке подчиненности, необходимо понимать, что все методы справедливы не только для групп, но и для элементов, если у справочника установлен вид иерархии «Иерархия элементов».
Здесь возможно несколько вариантов: если у нас есть группа и нам необходимо знать если ли именно в ней и нигде иначе определенный элемент справочника, то можно сравнить предопределенный реквизит Родитель нужного нам элемента справочника с ссылкой на группу, например:

Если КакойтоЭлемент.Родитель = НужнаяГруппа Тогда

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

НужнаяГруппа = НайтиПоНаименованию("ГруппаРаз");
Если НашЭлемент.ПринадлежитЭлементу(НужнаяГруппа) Тогда

условие будет истинным.

СправочникСсылка <> СправочникОбъект

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

КонтрагентПетров = Справочники.Контрагенты.НайтиПоНаименованию("Петров Иван Сергеевич");
КонтрагентОбъект = КонтрагентПетров.ПолучитьОбъект();
//Здесь идут какие то изменения
КонтрагентОбъект.Записать(); //и непосредственно запись

Проверка на то что ссылка является ссылкой на справочник

Проверить то что справочник является ссылкой можно очень просто, с помощью одной строки:

Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(СсылкаНаЭлементСправочника));

Где СсылкаНаЭлементСправочника проверяемая ссылка, эта строка вернет Истина если проверяемая ссылка является ссылкой на какой либо элемент справочника.

Только авторизованные участники могут оставлять комментарии.

Понравилась статья? Поделить с друзьями:
  • Станем друзьями семеновская часы работы сегодня
  • Станки для бизнеса в гараже идеи малого бизнеса
  • Станки для мини производства для малого бизнеса
  • Станки для работы с металлом для малого бизнеса
  • Станки для резки фанеры для малого бизнеса цена