Удаление записи регистра сведений в форме списка регистра #370689


#0 by Evgenius
Доброго времени суток. Прошу снять с меня лыжи, в очередной раз. Задача (сабж), вроде, более чем элементарная, но оказалось, что всё как-то непросто: В обработчике события ПриИзмененииФлажка табличного поля со списком записей, при определенных условиях, текущую запись нужно удалить (флажков целый набор). Если получить менеджер записи таким образом: а затем вызвать метод удалить:    МенеджерЗаписи.Удалить; то получаем сообщение: "Запись не верна! Поле <ключевое поле> не может быть пустым!" (но запись затем всё-таки удаляется) Если получить менеджер записи с помощью менеджера регистра (СоздатьМенеджерЗаписи), потом считать нужную запись (заполнить ключевые поля и вызвать метод Прочитать) и выполнить метод Удалить - запись вообще не удаляется! Что не так делается в том или в другом варианте?
#1 by kumena
все записи вроде по одному правилу удаляются. 1. создать набор. 2. установить отбор 3. прочитать 4. записать.
#2 by Evgenius
Ты, получается, даже не знаешь второго способа:-) Этот способ тоже пробовал - запись не удалется.
#3 by Mitriy
пункт 4 лишний...
#4 by Mitriy
* тьфу ты... пункт 3...
#5 by Evgenius
я ж говорю, этим способом тоже ничего удалить не получается. Что это, особенности формы списка какие-то?
#6 by kumena
"Ты, получается, даже не знаешь второго способа:-) " удаление - это в любом случае перезапись, так что способ все таки один :)))))
#7 by Mitriy
жжешь...
#8 by kumena
я не понимаю этого слова. Если вы не верите то поставьте точку останова в процедуре перед записью в модуле регистра и сами увидите.
#9 by Aprobator
таким способом получается не менеджер записи, а  регистр сведений ключ записи. Т. е. Набор значений, однозначно идентифицирующих запись регистра. По ним мжно получить требуемую запись и затем удалить.
#10 by Mitriy
дело не в том, верю я или нет, а в том, что у меня врожденная аллергия на демагогию :))
#11 by Evgenius
Уважаемый! а. я специально подчеркнул, что дело происходит в процедуре ПриИзмененииФлажка. Запустите отладчик и проверьте: на 8.1 это выражение возвращает МенеджерЗаписи. И кстати, в других процедурах оно тоже возвращает не КлючЗаписи, а ТекущиеДанныеСписка, а КлючЗаписи возвращается просто выражением Элемент.ТекущаяСтрока б. у КлючаЗаписи нет метода Удалить, поэтому вам не кажется, что я получил бы другое сообщение об ошибке?:-) в. повторю специально для Вас: я пробовал этот способ, записи (в данном случае одна-единственная) не удаляются! Читайте ветку, прежде чем отвечать. повторю еще раз (а вы перечитайте триджы): а. это только один из способов,   б. здесь он не срабатывает
#12 by Evgenius
+ Прошу прощения, погорячился. Но ветку неплохо бы читать, народ:-)
#13 by Evgenius
Неужели никто не сталкивался?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям