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

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 233 12.09.18 17:30 Сейчас в теме
(10)Все клево конечно, но проверку на ЭтоНовый() Не мешало бы добавить, так как у нового элемента ссылки попросту нет еще
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)