|
Контроль уникальности поля "Наименование" в справочнике | ☑ | ||
---|---|---|---|---|
0
lucifer
15.05.12
✎
09:17
|
Уникальность проверяется по коду, а можно ли сделать проверку уникальности по полю "Наименование" я имею ввиду может в конфигураторе есть опция такая, или это только программно можно сделать?
|
|||
1
andrewks
15.05.12
✎
09:18
|
программно
|
|||
2
a_alenkin
15.05.12
✎
09:25
|
Сделай очень длинный текстовый код и назови "Наименование"
Как справочник Пользователи в типовых |
|||
3
Amra
15.05.12
✎
09:27
|
(0) Программно. Можешь посмотреть в УТ 11, там реализован контроль наименований номенклатуры и характеристик
|
|||
4
lucifer
15.05.12
✎
09:32
|
спасибо
|
|||
5
andrewks
15.05.12
✎
09:34
|
(2) плохая идея, на мой взгляд. для пользаков, может, и сойдёт, а в общем - плохая
|
|||
6
vmv
15.05.12
✎
09:47
|
запросом проверять и все дела, спользуя ПОДОБНО для "нечеткой" уникальности.
менеджеры объектов и метод НайтиПоНаименованию работатют аналогично |
|||
7
lucifer
15.05.12
✎
10:03
|
делаю так
&НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Предупреждение(ТекущийЭлемент.Наименование); КонецПроцедуры &Насервере Функция ПроверкаНаименования(наименование) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Город.код, | Город.Наименование |ИЗ | Справочник.Города КАК Город |ГДЕ | Город.Наименование=&ГородСущ"; Запрос.УстановитьПараметр("ГородСущ", Наименование); Результат = Запрос.Выполнить().Выгрузить(); если Результат.Количество()>0 тогда возврат истина; иначе возврат ложь; КонецЕсли; //Результат.ВыбратьСтроку(); КонецФункции ругается что нет поле Наименование, как мне передать в функцию наименование? |
|||
8
andrewks
15.05.12
✎
10:05
|
просто ссылку на эл-т передавай
|
|||
9
Aprobator
15.05.12
✎
10:05
|
(7) так откель ему взяться на клиенте то?
|
|||
10
lucifer
15.05.12
✎
10:07
|
(8) как?
|
|||
11
lucifer
15.05.12
✎
10:07
|
(9) а как быть?
|
|||
12
Aprobator
15.05.12
✎
10:12
|
либо просто:
либо
|
|||
13
Aprobator
15.05.12
✎
10:15
|
а млин. У тебя в коде описка. Вместо Предупреждение надо ПроверкаНаименования, но суть та же.
|
|||
14
lucifer
15.05.12
✎
10:22
|
(13)
Ошибка при вызове метода контекста (СчитатьНаименование) город=СчитатьНаименование(ТекущийЭлемент); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ПолеФормы' |
|||
15
lucifer
15.05.12
✎
10:59
|
нет идей?
|
|||
16
lucifer
15.05.12
✎
11:17
|
сделал по другому в функцию ничего не передаю а в самой функции
Запрос.УстановитьПараметр("ГородСущ", Объект.Наименование); все работает |
|||
17
Aprobator
15.05.12
✎
14:38
|
тогда, что такое у тебя ТекущийЭлемент?
|
|||
18
Aprobator
15.05.12
✎
14:43
|
уж не ПолеФормы (свойство формы с таким именем есть - ссылается на ПолеФормы) у тебя там?
|
|||
19
andrewks
15.05.12
✎
14:44
|
(18) конечно поле, см (14)
|
|||
20
Aprobator
15.05.12
✎
16:03
|
(19) ну тады кирдык. Через текущий элемент то по любому не взлетит. Либо Объект, если это форма элемента справочника, ну а если форма списка, то там вроде в сторону ТекущиеДанные смотреть надо. А вообще народ вообще разучился читать СП, пользоваться отладчиком и думать своей головой.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |