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

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

  • автор:

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

Дата публикации 11.08.2022

Использован релиз 3.0.116

В программе «1С:Бухгалтерия 8» (ред.3.0) информация об услугах, работах, материалах, товарах, готовой продукции и т.п. хранится в справочнике «Номенклатура».

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

У видов номенклатуры, соответствующих услугам (работам), должен быть установлен флажок «Услуга» (рис. 2).

  1. Раздел: СправочникиНоменклатура.
  2. Для создания новой группы нажмите кнопку Создать группу (рис.1).
    • Укажите наименование группы.
    • В поле Вид номенклатуры выберите «Услуги». У всех новых элементов, добавляемых в эту, папку будет автоматически устанавливаться этот вид номенклатуры.
    • Кнопка «Записать и закрыть».
    • Откройте группу двойным щелчком мыши.
  3. Для создания нового элемента нажмите кнопку Создать (рис. 2).
    • Укажите наименование элемента.
    • Проверьте (если вид номенклатуры был указан у группы, в которую добавляется элемент) или выберите (если элемент создается вне группы) вид номенклатуры «Услуги».
    • Кнопка «Записать и закрыть».

Смотрите также

Подпишитесь на новости

Не пропускайте последние новости — подпишитесь
на бесплатную рассылку сайта:

  • десятки экспертов ежедневно мониторят изменения законодательства и судебную практику;
  • рассылка бесплатная, независимо от наличия договора 1С:ИТС;
  • ваш e-mail не передается третьим лицам;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЭлементКитай = Справочники.Страны.Китай; 

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

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

Имейте в виду, что и при помощи метода ПредопределенноеЗначение и при помощи прямого обращения посредством менеджера объекта мы получим ссылку на элемент, с которой можем работать как с обычной ссылкой на элемент справочника: присваивать её какому-нибудь реквизиту, получать объект из этой ссылки и т.д.

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

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

Мы уже научились создавать предопределенные элементы справочника в конфигураторе, но можно ли создать предопределенный элемент программно? И да, и нет.

Мы можем из простого элемента сделать предопределенный, и наоборот предопределенный элемент сделать простым.

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

Реквизит ИмяПредопределнныхДанных справочника 1С

Если мы получим ссылку на предопределенный элемент, то этот реквизит заполнен.

Реквизит ИмяПредопределнныхДанных у предопределенного элемента справочника 1С

Если же мы возьмем какой-то не предопределенный элемент, то этот реквизит будет пустой.

Реквизит ИмяПредопределнныхДанных у простого элемента справочника 1С

Если мы этому реквизиту присвоим какое-нибудь имя (помня об уникальности имен предопределенных элементов в контексте конкретного справочника), то мы программно «создадим» предопределенный элемент, но только в том случае если это имя уже существует в списке предопределенных элементов справочника, которые были заданы в конфигураторе 1С!

Например, тот же элемент «Тунис» справочника «Страны» у нас простой.

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

В какой-нибудь обработке напишем код, в котором попробуем сделать из этого элемента предопределенный элемент.

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

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

Предопределенный элемент не существует

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

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

Сделаем на обработке две команды. Первая будет снимать предопределенность у элемента справочника с именем «Китай», а вторая устанавливать.

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

Теперь обратно установим.

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

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

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

У нас до снятия элемент «Китай» был предопределенным.

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

А после снятия это стал простой элемент.

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

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

Начиная с платформы 1С 8.3 предопределенные элементы можно удалять в пользовательском режиме.

Установка пометки на удаление предопределенного элемента справочника 1С

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

Если сейчас этот элемент удалить через стандартную обработку «Удаление помеченных объектов», то он исчезнет из базы.

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

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

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

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

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

Изучайте программирование в 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

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

3 Replies to “Предопределенные элементы справочников 1С 8.3”

Дотошный :

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

Signum :
Спасибо, подправил!
Алексей :

Автор. Вы морочите голову. Вы пишете, можно ли создать предопределённый программно. Отвечаете и Да и нет. Затем играетесь с реквизитом Предопределенный устанавливая его в значение ложь и обратно в истина. Где программное создание предопределенного элемента? Если нет, то так и пишите ЭТО НЕ ВОЗМОЖНО. И не надо будет разгадывать ваш витиеватый ребус в течение полутора часов. Вот за такие статьи я и не люблю 1С.

Программирование 1С 8.х для начинающих

  • Вы здесь:
  • Главная
  • Статьи
  • Конфигурация
  • Справочник 1с
  • Как создать элемент справочника

Поделитесь в соцсетях

Конфигурация

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

Подробности Категория: Справочник 1с

    • Как программно создать новый элемент справочника и записать его.

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

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

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

     
    НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
    НовыйЭлемент.Наименование = "Телевизор Рекорд";
    // в типовом решении код можно не устанавливать, тогда программа запишет новый номер сама
    НовыйЭлемент.Код = "000023564";
    ГруппаТелевизоры = Справочники.Номенклатура.НайтиПоКоду("000000085");
    //если нужно записать элемент в корень справочника, то тогда Родитель не заполняется
    НовыйЭлемент.Родитель = ГруппаТелевизоры;
    НовыйЭлемент.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");
    // далее заполняются все необходимые реквизиты
    НовыйЭлемент.Записать();

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

    Недостаточно прав для комментирования

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

    Распечатать

    Распечатать

    COM-подключение к базе 7.7 из .NET, .NET Core 1
    Инсталяция: dotnet add package sabatex.V1C77 или добавить через NUGET пакет sabatex.V1C77. Добавить пространство имен: using sabatex.V1C77; пример использованя: —C# static void Main(string args) < // создаем строку соединенZIP-архив Чтение 0
    Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий: — Открыть необходимый архив — Распаковать файлы Создание объекта ЧтениеZIPФайла можно осуществить двумя путями — создать инициализированный объект или Автоматическая установка ширины колонки табличного документа. 0
    Процедура, которая » примерно» делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура РасчетШириныКолонок(Табличный Был ли изменен элемент справочника? 0
    // Модифицированность() — Определяет, был ли изменен объект после считывания из базы данных. // НО Метод не позволяет определить, был ли изменен объект другими пользователями. Если Модифицированность() тогда Сообщить(» Этот элемент справочник Быстрый отбор в справочнике по первой букве 0
    В статье описан способ быстрой организации отбора в списке справочника по первой букве наименования. Механизм легко дотачивается под собственные нужды. https://helpf.pro/uploads/img/_1-T4ZDj6uNPX.png // ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ НаКлиенте Посмотреть все результаты поиска похожих

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

    Как для Выбора Элемента Справочника Открыть Форму Выбора с нужной Открытой Группой? 9
    Порядок действий такой: 1. В поле ввода » Номенклатура» добавь событие ПриНачалеВыбора. 2. Установи в них СтандартнаяОбработка = Ложь; 3. Получи форму выбора нужного справочника 4. Установи отбор по родителю 5. Открой форму для выбора Теп Перебрать, выбрать элементы справочника 8
    Выборка = Справочники.Сотрудники.Выбрать(); //или Выборка = Справочники.Сотрудники.ВыбратьИерархически(); Пока выборка.Следующий() = 1 Цикл . //действия с очередным элементом . Сообщить(» Сотрудник » + выборка.Наименование); КонецЦикла; / Перебрать, выбрать элементы подчиненного справочника 8
    Перебор элементов справочника принадлежащих элементу другого справочника, т.е когда один справочник подчинен другому справочнику. // Получить выборку по указанному контрагенту. Выборка = Справочники.КонтактныеЛица.Выбрать( , Контрагент); Пока Вы Как программно открыть и выбрать элемент справочника, выбор элемента справочника? 8
    Просто открыть: // Получить форму выбора справочника как подчиненную форме документа ФормаСписка = Справочники.Номенклатура.ПолучитьФормуСписка( , ЭтаФорма); // Открыть полученную форму ФормаСписка.Открыть(); Открыть для выбора элемента: Ф Как сделать подбор элементов справочника в табличную часть документа? 8
    Нужно на форме документа сделать кнопочку Подбор для справочника сотрудники и чтобы выбранные элементы добавлялись в табличное поле документа? В данной статье я приведу пример подбора элемента справочника в Список значений и в Табличную часть! Со Посмотреть все в категории Справочники

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *