Версия для печати темы (https://pro1c.org.ua/index.php?s=f602fa64777bd9406f59b59a1bdbd747&showtopic=10817)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Удаление элементов справочника
Автор: abes 27.01.13, 12:30
Всем привет !
Есть справочник Кассы, у него раквизит Основной (Булево).
Мне нужно запретить возможность удаления элемента из списка и возможность пометки на удаление, если реквизит Основной=Истина.
Как это сделать ? Не могу найти подходящее событие..
Автор: Vofka 27.01.13, 12:47
В модуле объекта есть событие ПередУдалением. Оно вам поможет.
Автор: logist 27.01.13, 12:50
Цитата(Vofka @ 27.01.13, 12:47)
В модуле объекта есть событие ПередУдалением. Оно вам поможет.
Не подходит. Это событие возникает перед непосредственным удалением.
Необходимо в ПередЗаписью вставить:
Отказ = ПометкаУдаления И Основной;
Автор: Zaval 27.01.13, 12:58
RLS
ЗЫ. "Мы тут всей фирмой с утра до вечера эти кассы создаем и удаляем десятками... так вот, как бы чего не вышло..."
Автор: Ardi 27.01.13, 14:15
abes
Запретить интерактивное удаление следует вообще "всем" объектам.
А пометка на удаление не должна мешать работе.
Автор: abes 27.01.13, 15:31
Цитата(logist @ 27.01.13, 12:50)
Не подходит. Это событие возникает перед непосредственным удалением.
Необходимо в ПередЗаписью вставить:
Отказ = ПометкаУдаления И Основной;
В форме списка такое событие отсутствует, а в форме элемента справочника есть, но событие не вызывается при нажатие на станд. клавишу удаление (
Автор: Vofka 27.01.13, 15:33
В модуле объекта.
Автор: abes 27.01.13, 15:34
Цитата(Ardi @ 27.01.13, 14:15)
abes
Запретить интерактивное удаление следует вообще "всем" объектам.
А пометка на удаление не должна мешать работе.
Вопрос не в том, стоит ли это делать - в типовой конфе - однозначно нет...
Вопрос КАК..
Автор: Ardi 27.01.13, 16:06
Цитата(abes @ 27.01.13, 16:34)
Вопрос не в том, стоит ли это делать - в типовой конфе - однозначно нет... Вопрос КАК..
Майя твойьо не понимайть.
Автор: abes 27.01.13, 16:09
Нашёл событие, в котором есть реакция перед пометкой на удаление ПриИзменении(Элемент)
А как тут отменить действие ? Ведь нет стандартного Отказ ...
Цитата(Ardi @ 27.01.13, 16:06)
Майя твойьо не понимайть.
Просто надо запретить помечать на удаление и удалять непосредственно определённый элемент справочника. Скажи, КАК это сделать, добрый человек.. )
Автор: Vofka 27.01.13, 16:44
abes, крепкая у вас броня. Пишу ещё раз: событие находится в модуле объекта!
Автор: abes 27.01.13, 18:42
Цитата(Vofka @ 27.01.13, 16:44)
abes, крепкая у вас броня. Пишу ещё раз: событие находится в модуле объекта!
спасибо за ответ, и вправду наверное крепка,
но можно уточнить ?
я открываю модуль объекта так - справочники -> Кассы -> правой кнопкой мыши -> Открыть модуль объекта -> открывается пустой модуль.
если открыть модуль формы Списка для справочника Кассы - в свойствах списка есть событие ПередУдалением.
Но если я сделаю там так :
&НаКлиенте
Процедура СписокПередУдалением(Элемент, Отказ)
Отказ = Истина;
КонецПроцедуры
то никакой реакции.
Автор: Ardi 27.01.13, 19:03
Пустой модуль - это правильный модуль.
Автор: Vofka 27.01.13, 19:11
Цитата(abes @ 27.01.13, 18:42)
я открываю модуль объекта так - справочники -> Кассы -> правой кнопкой мыши -> Открыть модуль объекта -> открывается пустой модуль.если открыть модуль формы Списка для справочника Кассы - в свойствах списка есть событие ПередУдалением.
Всё же, признаться, я немного запутанно подсказывал. С событием ПередУдалением, это я дал маху, как заметили выше. Используйте событие
модуля объекта ПередЗаписью и пропишите там то, что написал Логист:
Отказ = ПометкаУдаления И Основной;
Автор: abes 27.01.13, 23:39
Цитата(Vofka @ 27.01.13, 19:11)
Всё же, признаться, я немного запутанно подсказывал. С событием ПередУдалением, это я дал маху, как заметили выше. Используйте событие
модуля объекта ПередЗаписью и пропишите там то, что написал Логист:
Отказ = ПометкаУдаления И Основной;
ДА, СПАСИБО ОГРОМНОЕ, ПОМОГЛО !
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua