Имя: Пароль:
1C
 
Значение реквизита, которое должно быть у одного элемента справочника
0 Chonguk228
 
25.12.25
23:20
Всем привет! Такая задача:
Есть булевский реквизит, допустим - ЭтоКонтактноеЛицоБухгалтерии  , при этом значение "Истина" этот реквизизит должен иметь только у одного элемента справочника "Контактные лица" (в разрезе Владельца - контрагента).
Как это можно реализовать?
В голову пришло, чтобы перед записью, если флаг Истина у реквизита установлен, то запросом выбирались контактные лица данного контрагента тоже с флагом истина и программно через ПолучитьОбъект этот флаг ставился в значение Ложь
Но может у кого то есть другая, более красивая идея?
1 PR
 
25.12.25
23:21
(0) Константа
2 Chonguk228
 
25.12.25
23:23
(1) Как вариант бы был, но тут именно в разрезе Контрагента (то есть у одного контрагента одно контактное лицо с данным признаком), в базе их может быть 10, главное чтобы у каждого был разный владелец (контрагент)
3 PR
 
25.12.25
23:24
+(1) А, владелец же
Ну тогда либо регистр сведений либо реквизит у владельца
4 Chonguk228
 
25.12.25
23:35
(3) Реквизит контрагента как вариант и вправду, спасибо
Тогда не надо будет и объекты читать и перезаписывать, да и в целом ничего не надо как будто, только наложить отбор на владельца)) Большое спасибо
5 PR
 
25.12.25
23:38
(4) В смысле отбор на владельца? Ты про что? Про выбор из подчиненного справочника только подчиненных элементов? Ну да, логично
6 Chonguk228
 
25.12.25
23:40
(5) да
7 Злопчинский
 
26.12.25
03:12
капец. таких вариантов (основной из некоего однородного множества) - в типовых море. Посмотреть как сделано - ну совсем никак...
8 Garykom
 
гуру
26.12.25
08:34
(0) Это не так делается
Ты инфу относящуюся к контрагенту (контактное лицо бухгалтерии) собрался хранить в Контактные лица
Хотя логично это хранить в самом справочнике Контрагенты
Сделав там реквизит КонтактноеЛицоБухгалтерии с типом СправочникСсылка.КонтактныеЛица

А еще лучше сразу слегка подумать и пойти дальше
Добавив не просто реквизит в справочник Контрагенты
А создав новый РС и там для каждого контрагента хранить разные контактные лица по типам
Можно перечисление сделать со значениями Бухгалтерия и т.д.
Чтобы хранить какой контакт к какому подразделению контрагента относится

Если в конфе есть подразделения контрагентов или нечто вроде можно и к ним привязаться
Учесть что контактных лиц одной бухгалтерии может быть несколько ))
9 Прохожий
 
26.12.25
06:03
Разве не правильнее дополнительный реквизит прописать? Зачем базу раздувать и в архитектуру пакостить?
10 Мультук
 
гуру
26.12.25
07:02
(9)
Разве не правильнее дополнительный реквизит прописать?
Может да, а может нет.
Сегодня есть доп.реквизиты, а завтра нет.
Например, "вчера" настройки синхронизации хранили в РС,
а потом раз и переписал всё это (я до сих пор не понимаю зачем)


Зачем базу раздувать
Базы на dbf и "HDD аж на 20Мб" давно в прошлом.
Хотел написать, что и shortInt давно в прошлом, но нет. Хотя как смотреть.


И в архитектуру пакостить?
Можно пакостить.
А можно написать один раз и больше не перепакостивать.

А про "архитектуру пакостить" это про другое.
Это про историю регистра РН.СО, его падение и трудную реинкарнацию.
Ну или "Еще одна, зуб даём последняя СовсемНоваяАрхитектура{самизнаетечего}"
11 maxar
 
26.12.25
08:26
на мой взгляд правильнее использовать справочник "Роли контактных лиц" который является реквизитом Контактного лица, иначе получается дубляж одного и того же значения...
12 Garykom
 
гуру
26.12.25
08:52
(11) А как узнал, что в конфе у ТС такой справочник есть?
И какая конфа с какой БСП?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой