Интересный способ удалить программно предопределенный элемент справочника #723223


#0 by simol
8.3.5 Например есть справочник с двумя элементами. Один предопределенный, второй не предопределенный. выполняем код [1c] НеПредопределенныйОбъект = НеПредопределенныйСсылка.ПолучитьОбъект; НеПредопределенныйОбъектXDTO = СериализаторXDTO.ЗаписатьXDTO(НеПредопределенныйОбъект); НеПредопределенныйОбъектXDTO.Ref = ПредопределенныйСсылка; ПредопределенныйНовыйОбъект =  СериализаторXDTO.ПрочитатьXDTO(НеПредопределенныйОбъектXDTO); ПредопределенныйНовыйОбъект.ОбменДанными.Загрузка = Истина; ПредопределенныйНовыйОбъект.Записать; [/1с] Где НеПредопределенныйСсылка ссылка на не предопределенный элемент справочника. ПредопределенныйСсылка ссылка на предопределенный справочник И получаем справочник с двумя непредопределенными элементами, которые можно удалить. P.S. Конфигуратор будет продолжать считать что элемент есть, но его уже не будет.
#1 by Euguln
Можно проще: СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>) ИмяПредопределенныхДанных (PredefinedDataName) Использование: Чтение и запись. Описание: Тип: Строка. Имя предопределенного элемента, как оно задано в конфигурации. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Поле обладает особенностями сортировки.
#2 by simol
А измени так "Предопределенный"
#3 by simol
СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>) Предопределенный (Predefined) Использование: Только чтение. Описание: Тип: Булево. Указывает, что данный элемент справочника является предопределенным элементом. Истина - предопределенный.
#4 by Euguln
Читай внимательно: СправочникОбъект.<Имя справочника> ИмяПредопределенныхДанных Использование:Чтение и запись.
#5 by banco
так в 8.3 и так можно удалить предопределенный элемент
#6 by simol
Я не говорил, что изменяется ИмяПредопределенныхДанных Я говорю что так можно изменять реквизит Предопределенный, хотя он ТолькоЧтение СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>) Предопределенный (Predefined) Использование: Только чтение.
#7 by Classic
То у ссылок "только чтение". У ссылок все реквизиты "только чтение".
#8 by simol
ты провал менять? СправочникОбъект.<Имя справочника>.Предопределенный (CatalogObject.<Имя справочника>.Predefined) СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>) Предопределенный (Predefined) Использование: Только чтение.
#9 by France
Универсальный обмен данными - и весь 1ц в интересном положении.
#10 by tridog
А зачем так изгаляться, когда можно просто: ?
#11 by France
Пометка удаления?
#12 by MrStomak
Всем давно известно, что в 8.3 можно удалять предопределенные элементы. Для этого даже предусмотрены соответствующие права. Более того, назначать элемент предопределённым можно программно как угодно, используя "ИмяПредопределенныхДанных". Каких-то непонятных костылей при этом городить не надо, это богато документированная возможность.
#13 by AlexITGround
спокойно, не порти интригу, они еще об этом не знают :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С