Просмотр справочника на дубликаты
☑
0
wambo
19.05.13
✎
22:56
Собственно нельзя создавать две записи в справочнике с одинаковым номенклатурным номером, я пытаюсь сделать так:
Процедура ПередЗаписью(Отказ)
//Вставить содержимое обработчика.
Запрос=новый Запрос;
Запрос.Текст="
|ВЫБРАТЬ
| Товары.Ссылка,
| Товары.ПометкаУдаления,
| Товары.Предопределенный,
| Товары.Код,
| Товары.Наименование,
| Товары.НоменклатурныйНомер,
| Товары.СтеллажНаСкладе,
| Товары.Ячейка
|ИЗ
| Справочник.Товары КАК Товары
|ГДЕ
| Товары.НоменклатурныйНомер = &НомНн
|";
запрос.УстановитьПараметр("НомНн",НоменклатурныйНомер);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Количество() = 1 Тогда
Иначе
Отказ = Истина;
Сообщить("Такой номенклатурный номер существует");
КонецЕсли;
КонецПроцедуры
но получается, что если я открою для редактирования форму справочника, мне не даст сохранится, т.к. он якобы считает что такое уже есть...
1
HEKPOH
19.05.13
✎
23:02
условие в запрос добавь на неравенству записываемого элемента
2
wambo
19.05.13
✎
23:03
(1)
не понял, т.е.?
3
HEKPOH
19.05.13
✎
23:05
ВЫБРАТЬ
Номенклатура.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Артикул = &Артикул
И Номенклатура.Ссылка <> &Ссылка
4
wambo
19.05.13
✎
23:08
(3)
ну и получается ещё Если Результат.Количество() = 1 заменить на 0, вроде ок всё, спс
5
HEKPOH
19.05.13
✎
23:13
и на равенство сравнивать неправильно.
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
сообщить("карамба!");
КонецЕсли;
6
wambo
19.05.13
✎
23:14
(5)
ок, приму ко вниманию
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс