Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Можно ли создать один реквизит, с двумя типами
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Gigi
Здравствуйте!
Меня интересует один вопрос, который может не очень простой и обычный.
Допустим у нас есть справочник и документ. Последний имеет ссылку, на какой ни-будь реквизит справочника. И допустим пользователь один элемент справочника, на который ссылался созданный документ пометил, а потом удалил.
Не для кого не секрет, что в таком случае, происходит следующее:
Во первых: после удаления в реквизите ссылки документа который ссылался на удаленный элемент справочника появляется надпись: «<Объект не найден>…..»
Во вторых: допустим код удаленного элемента: «000000055»….если после этого, создать новый элемент то, система может повторить этот же код опять. И это не совсем устаивает . Нужно, что бы созданный код никогда больше не повторялся. Вне зависимости от удаления или создания нового элемента.
Поэтому главный вопрос.
Нельзя ли сделать следящее.
Что бы реквизит оставался ссылкой пока элемент ссылки не удален. Но как только элемент подвергся удалению, вместо надписи: «<Объект не найден>…..», что бы реквизит приобретал другой тип. Тип строки.
Ведь обычно чисто по СТАНДАРТУ на один реквизит один тип. А нужно, что бы был один реквизит, с двумя типами.
И что бы значение реквизита оставалось, а тип менялся в зависимости от того или иного действия.
Есть ли такая возможность в платформе 1С и можно ли это сделать?
Если да то, как?
Буду признателен!
Bernet
Gigi @ Сегодня, 15:09 необходимо зарегистрироваться для просмотра ссылки ,
Цитата
И что бы значение реквизита оставалось, а тип менялся в зависимости от того или иного действия.

Стандартного такого механизма нет

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

Вопрос в том, а нужно ли то что вы хотите сделать, для чего?
Удаление объекта на который есть ещё где-то ссылка априори не есть правильно! Это нарушает целостность базы данных и в принципе идет в расход с идеологией баз данных в целом.

Скажем так, то что вы хотите сделать в принципе возможно. Можно указать составной тип и при удалении менять тип с ссылки на строку, но я лично считаю это неправильным.
Gigi
Bernet @ Сегодня, 14:16 необходимо зарегистрироваться для просмотра ссылки ,
Цитата(Bernet @ 19.06.17, 14:16) необходимо зарегистрироваться для просмотра ссылки
Удаление объекта на который есть ещё где-то ссылка априори не есть правильно! Это нарушает целостность базы данных и в принципе идет в расход с идеологией баз данных в целом.

Согласен! Только это 20-ти пользователям не объяснишь smile.gifsmile.gif.
БЕСПОЛЕЗНО!
А что если и вовсе просто запретить удаление?
Дело в том, что по умолчанию можно удалять. Без запрета. Правда до этого нужно пометить. После чего ссылки удаляются автоматический ... должно так...
Но почему то, я этот вопрос не пойму. Тестил... вроде пометил, и потом удалил. А реквизит ссылки в документе все равно написал: "<Объект не найден>"
Блиин! Почему?
Bernet
Gigi @ Сегодня, 15:23 необходимо зарегистрироваться для просмотра ссылки ,
В типовых конфигурациях непосредственное удаление без проверки на наличие ссылок ЗАПРЕЩЕНО.
Это можно настроить правами, в правах на всех объекты у обычных пользователей забирайте галочку "Интерактивное удаление помеченных" - тогда пользователь сможет максимум пометить на удаление. Непосредственно удалить он не сможет. У него не будет в меню красного крестика.
Vidocq05
Цитата(Bernet @ 19.06.17, 15:16) необходимо зарегистрироваться для просмотра ссылки
я лично считаю это неправильным

Поддерживаю. Запретить пользователям непосредственное удаление да и все
Gigi
Bernet @ Сегодня, 14:28 необходимо зарегистрироваться для просмотра ссылки ,
Цитата
В типовых конфигурациях непосредственное удаление без проверки на наличие ссылок ЗАПРЕЩЕНО.
Это можно настроить правами, в правах на всех объекты у обычных пользователей забирайте галочку "Интерактивное удаление помеченных" - тогда пользователь сможет максимум пометить на удаление. Непосредственно удалить он не сможет. У него не будет в меню красного крестика.

Отлично!
Другое дело ... а то думал ... в SQL просто не работал ... видимо там тоже не желательно что либо удалять
Ладно! Пока не знаю на счет галочки на
Цитата(Bernet @ 19.06.17, 14:16) необходимо зарегистрироваться для просмотра ссылки
"Составной тип"

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