1с как выбрать группу справочника

Обновлено: 04.07.2024


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

// Создаём новую группу справочника "Страны у океана"
ГруппаСтраныУОкеана = Справочники . Страны . СоздатьГруппу ();
ГруппаСтраныУОкеана . Наименование = "Страны у океана" ;
ГруппаСтраныУОкеана . Записать ();

// Переносим элемент справочника Россия в другую группу "Страны у океана"
СтранаРоссия . Родитель = ГруппаСтраныУОкеана . Ссылка ;
СтранаРоссия . Записать ();

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

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

// Узнаём принадлежность элемента справочника группе (с учетом уровней иерархии)
БеларусьСсылка = Справочники . Страны . НайтиПоНаименованию ( "Беларусь" );
ГруппаСтраныУОкеанаСсылка = Справочники . Страны . НайтиПоНаименованию ( "Страны у океана" );

// Проверяем принадлежит ли город Беларусь группе "Страны у океана"
Если БеларусьСсылка . ПринадлежитЭлементу ( ГруппаСтраныУОкеанаСсылка ) Тогда // Булево Истина
Сообщить ( "Элемент Беларусь находится в группе Страны у океана." );
Иначе //Ложь
Сообщить ( "Элемент Беларусь не находится в группе Страны у океана." );
КонецЕсли;

// Копируем существующий элемент справочника "Беларусь"
КопияБеларуси = БеларусьСсылка . Скопировать ();
КопияБеларуси . Наименование = КопияБеларуси . Наименование + " КОПИЯ" ;
КопияБеларуси . УстановитьНовыйКод ();
КопияБеларуси . Записать ();

// Выясняем уровень вложенности элемента справочника
Сообщить ( КопияБеларуси . Уровень ()); // Возвращает уровень = 1

// Блокируем элемент справочника перед изменениями (от изменения другими пользователями или режимами)
СтранаБеларусь = БеларусьСсылка . ПолучитьОбъект ();
Если Не СтранаБеларусь . Заблокирован () Тогда
СтранаБеларусь . Заблокировать ();
// Меняем заблокированный элемент "Беларусь"
СтранаБеларусь . ЧисленностьНаселения = 10000000 ;
СтранаБеларусь . Записать ();
// Не забываем разблокировать для других режимов и пользователей
СтранаБеларусь . Разблокировать ();
КонецЕсли;

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

// Помечаем на удаление элемент справочника "Казахстан"
СтранаКазахстан . УстановитьПометкуУдаления (Истина,Ложь); // пометка удаления
// Примечание: включая подчиненные (если речь о группе справочника)

1C Предприятие 8.2
Толстый клиент. Обычное приложение.
Обычная форма
===================
Есть иерархический справочник Справочник с группами: Группа1,Группа2,Группа3
Для справочника Справочник создаю обычную форму списка. Пусть будет ФормаСпискаГруппы1

Вопрос: как теперь открыть форму ФормаСпискаГруппы1 так, чтобы в ней сразу открылась Группа1.
(а другие группы как при фильтрах не пропускались)
===================

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

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


Программно открыть определенную папку
Здравствуйте! Интересует такой вопрос. Как программно открывать определенную папку? .

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

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

Добавлено через 50 секунд
но это забекарит восстановление предыдущих отборов

ПКМ на списке - Установить отбор
Ссылка = В ГРУППЕ (выбранная группа)

В режиме ИНТЕРПРАЙС

Добавлено через 33 минуты
А как сделать такой же отбор программно смотри тут
Разграничение прав доступа пользователя по организации

Если делать, что то похожее на то, что в вышеуказанной теме, то у меня это выглядит как

Добавлено через 9 минут
Ошибка при установке аттрибута контекста (Значение)

Мне не понятно что такое справочник?

Есть иерархический справочник Справочник с группами: Группа1

В моем коде Группа1="Поставщики", а Справочник называется "Контрагенты"
Вот, я когда пытаюсь получить ссылку, то пытаюсь обратиться к справочнику, но похоже неправильно мыслю.

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

Добавлено через 13 минут
Разобрался. Связь по типу нужно правильно выбрать.

Но теперь открывает только группы, а элементы не показывает

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

наличие связи по родителю с деревом
режим иерархии
наличие колонки родитель

какой решающий - не помню. Попробуйте

Последний ответ Dethmontt сработал.
То, что нюансы есть запомню.

Спасибо за помощь.

Добавлено через 16 минут

Учись самостоятельно находить информацию и разбирать ее.

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

Как программно выделить определенную строку DataGridView
Среда Visual Basic STUDIO’2010 Professional Как поставить фокус на ячейку с координатами.


Как программно заархивировать определенную папку на компе?
Добрый день. Собственно, вопрос в теме. Есть база, результатом работы которой являются изменения.

Как программно раскрыть определенную ветвь в дереве?
Подскажите как программно расскрыть определенную ветвь в дереве JTree _tree; . TreePath.


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

Читайте также: