Можно ли как то выполнять проверку при изменении номера автомобиля?

1. user973528 12.09.18 16:28 Сейчас в теме
Есть справочник "Номера автомобилей", есть проверка при записи , то есть если номер существует то программа не даёт записать, но проблема в том что если пользователь записал номер но забыл записать в него "Марку автомобиля" то при повторной записи программа не даёт сохранить, ссылаясь что такой номер уже существует.

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	Запрос =  Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |	НомерАвтомобиля.Наименование
                   |ИЗ
                   |	Справочник.НомерАвтомобиля КАК НомерАвтомобиля
                   |ГДЕ
                   |	НомерАвтомобиля.Наименование = &Наименование";
	
	Запрос.УстановитьПараметр("Наименование", Объект.Наименование);	
	
	Результат = Запрос.Выполнить();
	
	Если Не Результат.Пустой() Тогда
		
		Сообщить("Заполненый номер автомобиля уже существует");
		Отказ = Истина;
		
	КонецЕсли;
		
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
4. harmer 1 12.09.18 16:36 Сейчас в теме
(1) Добавьте в запрос условие отбора "НомерАвтомобиля.Ссылка <> &Ссылка", чтобы исключить из проверки данные текущего элемента справочника.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 12.09.18 16:30 Сейчас в теме
(1) значит запрос не должен возвращать номера с пустой маркой автомобиля.
Добавь условие в запрос
user973528; +1 Ответить
3. Boneman 298 12.09.18 16:32 Сейчас в теме
(1) а вообще такие вещи надо с исключениями делать,
чтобы оно либо подтверждение спрашивало, и давало все таки редактировать.
Либо хотябы администратор мог это делать...мало ли, что там потребуется, или какая ситуация нарисуется
user973528; +1 Ответить
4. harmer 1 12.09.18 16:36 Сейчас в теме
(1) Добавьте в запрос условие отбора "НомерАвтомобиля.Ссылка <> &Ссылка", чтобы исключить из проверки данные текущего элемента справочника.
5. user973528 12.09.18 16:40 Сейчас в теме
(4)
(1) Добавьте в запрос условие отбора "НомерАвтомобиля.Ссылка <> &Ссылка", чтобы исключить из проверки данные текущего элемента справочника.


Спасибо, можете пожалуйста подсказать, а что нам даёт это условие НомерАвтомобиля.Ссылка <> &Ссылка" ?
6. user973528 12.09.18 16:41 Сейчас в теме
(4)
НомерАвтомобиля.Ссылка <> &Ссылка"


Точнее что передаётся в "Ссылка"
8. harmer 1 12.09.18 16:44 Сейчас в теме
(6) ТекущийОбъект.Ссылка
7. Boneman 298 12.09.18 16:42 Сейчас в теме
(4) так а если в текущем номере номер поменять захотят...проверка должна все равно отработать
9. harmer 1 12.09.18 16:48 Сейчас в теме
(7) Да, и введенный номер будет проверяться по всем элементам справочника, кроме текущего.
По идее если номер меняется, то условие "НомерАвтомобиля.Ссылка <> &Ссылка" и не нужно, так как первое условие ("НомерАвтомобиля.Наименование = &Наименование") уже вернет ложь.
Условие "НомерАвтомобиля.Ссылка <> &Ссылка" как раз необходимо тогда, когда при записи номер не меняется, чтобы не было ситуации, что программа не дает сохранить объект из-за этого же объекта.
10. user973528 12.09.18 16:51 Сейчас в теме
(9) Проверяется в справочнике на наличие одинаковых номеров машин и во время редактирования номера из документа тоже

Теперь даёт записать марку если была не записана
11. bmk74 234 12.09.18 17:30 Сейчас в теме
(10)Все клево конечно, но проверку на ЭтоНовый() Не мешало бы добавить, так как у нового элемента ссылки попросту нет еще
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот