|
Просмотр справочника на дубликаты |
☑ |
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)
ок, приму ко вниманию
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший