УФ Отследить установку пометки на удаление элемента справочника #628999


#0 by Rounder
Справочник Контрагенты. В форме есть динамический список банковские счета. Суть вопроса - отказать пользователю в установке пометки удаления если счет обозначен как основной у контрагента. Программно отключить доступность стандартной команды нельзя. Как вариант отключить стандартную команду и сделать свою, но это на крайняк. Может есть более "красивые" способы?
#1 by SUA
подписка на событие? (пофигу вообще откуда вызывается динамический список - событие пометки удаления)
#2 by Rounder
По идее не подойдет. Есть ситуация когда счет помечен как основной - но контрагент еще не записан и на этот же счет в этой же форме контрагента ставят пометку. Т.е. в таком случае я не смогу корректно в ПередЗаписью банковского счета (не важно в подписке или в модуле объекта) определить является ли счет основным или нет у кого-либо.
#3 by Rounder
Единственное событие ДинамическогоСписка реагирующее на установку пометки удаления - ПриИзменении, но оно срабатывает уже по факту установки пометки удаления, однако тут я могу либо принудительно снять "Основной" со счета, либо принудительно снять пометку удаления со счета. Но хотелось бы не допустить ее установки.
#4 by Rounder
Может есть другие варианты?
#5 by Asmody
БанковскиеСчета немножко подчиненный справочник, не?
#6 by Rounder
и?
#7 by Rounder
как это помогает решить мою проблему? Не допустить установки пометки на удаление на банковский счет, если он помечен в форме контрагента как "Основной", но при этом контрагент еще не записан?
#8 by Asmody
как он может существовать без объекта-владельца?
#9 by Asmody
#10 by Rounder
А кто сказал что он существует без владельца? Поясняю еще раз: Открыли форму контрагента. Перешли на закладку банковские счета - видим все счета сего контрагента: счет1, счет2 и счет3.  Счет2 является основным. Пользователь поставил указатель на счет1 и нажал кнопку "Сделать основным". Объект.ОсновнойБанковскийСчет стал равным счет1. Но Объект мы еще не записывали. Т.е. Объект.Ссылка.ОсновнойБанковскийСчет по прежнему равен счет2. И теперь пользователь решил счет1 еще и пометить на удаление. Как ему не дать это сделать?
#11 by Rounder
Стоп. Походу туплю. Сча посмотрю.
#12 by Defender aka LINN
Бить по рукам и прочим выступающим частям тела.
#13 by Rounder
Ну понятно что бить - но лучше не допустить, чем допустить, а потом бить. Как не допустить в принципе понятно - но не хочется лишних дерганий сервера.
#14 by Rounder
все-таки не туплю. не отработает ситуацию описанную в
#15 by FIXXXL
Объект.Ссылка.ОсновнойБанковскийСчет по прежнему равен счет2 а Объект.ОсновнойБанковскийСчет чему равен?
#16 by Rounder
счет1 Только речь идет об объекте в форме элемента справочника контрагент. Пока еще не записанного.
#17 by Defender aka LINN
Если делать программу, которой может пользоваться даже дурак - то только дурак ей воспользоваться и сможет. Ну пометят на удаление счет, и что? Камни посыпятся с неба и трубный глас возвестит Арамегеддон?
#18 by olegves
проверяй при попытке удалить счет форму на модифицированность и посылай нах, если модифицирована.
#19 by zladenuw
ага взяли в наименование просто пробел убрали и все.
#20 by zladenuw
у нас же объект измен. то если сделать запрос к бд. то мы получим ссылку без изменения или нет ?
#21 by Rovan
" Но Объект мы еще не записывали..." Если не записывали, значит пользователь РАБОТАЕТ с данными....т.е. думает то ли записать новые данные в базу, то ли нет.... - так что ориентироваться на это дело не кошерно !
#22 by zladenuw
ну тогда хранить где то в переменной значение до модифицирование и проверять счет. если не совпадает отказ и лесом. если нет даем добро
#23 by SUA
да, есть еще один классический вариант "Вы не хотели бы этого делать"
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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