UDF
|
|
1 | |
Помогите с кодом!13.04.2008, 17:39. Показов 18468. Ответов 7
Метки нет (Все метки)
Вот есть такой кусок кода. Надо дописать чтоб программа не давала записывать данные если ИНН повторяется! Как это сделать???
// Список найденных элементов с таким же ИНН. Список = СоздатьОбъект("СписокЗначений"); Объект = СоздатьОбъект("Справочник.ЮрЛица"); Объект.ВыбратьЭлементыПоРеквизиту("ИНН", ИНН, 0, 1); // Поиск элементов с таким же ИНН. Пока Объект.ПолучитьЭлемент(1) = 1 Цикл Если Объект.ТекущийЭлемент() = ТекущийЭлемент() Тогда Возврат; // элемент уже был записан Иначе Список.ДобавитьЗначение(Объект.ТекущийЭлемент()); КонецЕсли; КонецЦикла; // Найдены элементы с таким же ИНН. Если 0 < Список.РазмерСписка() Тогда Стр = "В справочнике """+Объект.ПредставлениеВида()+""" уже есть элементы с таким же ИНН1111!"; КонецЕсли; КонецПроцедуры // ПриИзмененииИНН() |
13.04.2008, 17:39 | |
Ответы с готовыми решениями:
7
Помогите с кодом помогите с кодом Помогите Разобраться С Кодом Касса и отчеты, помогите с кодом |
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
|
|
13.04.2008, 19:10 | 2 |
Реально работающий кусок кода:
Код
Процедура ПриЗаписи() Если Константа.КонтрольИНН=Перечисление.ДаНет.Да Тогда Спр = СоздатьОбъект ("Справочник.Контрагенты"); Если ПустоеЗначение(ИНН)=1 Тогда Предупреждение("Пустой ИНН"); СтатусВозврата(0); Иначе Спр.ВыбратьЭлементыПоРеквизиту("ИНН",ИНН,0,0); Пока Спр.ПолучитьЭлемент()=1 Цикл Если Спр.Код=Код Тогда Продолжить; КонецЕсли; Предупреждение("Не уникальный ИНН!"); СтатусВозврата(0); КонецЦикла; КонецЕсли; КонецЕсли; КонецПроцедуры //ПриЗаписи
0
|
0 / 0 / 0
Регистрация: 10.05.2004
Сообщений: 209
|
|
14.04.2008, 09:15 | 3 |
Народ может вам и нравиться работать с циклами и переборами, мне например больше по душе поставить признак отбор по реквизиту и написать такой вот код
Код
спр = создатьобъект("Справочник.Контрагенты"); если спр.найтипореквизиту("ИНН",ИНН) = 1 тогда ..... ругнуться по неуникальности!!! статусвозврата(0); конецЕсли;
0
|
UDF
|
|
14.04.2008, 10:59 | 4 |
Надо чтоб он после того как ругнулся на неуникальность ИНН===> очистил это поле или не дал сохранить результат!!!
|
0 / 0 / 0
Регистрация: 11.11.2005
Сообщений: 584
|
|
14.04.2008, 13:20 | 5 |
Сообщение от Typhoon
Сообщение от UDF
PS: а, ну да, не очищает только PPS: но это, думаю, не будет проблемой самому реализовать? ))) PPPS: Typhoon переборка для того, чтобы себя (текущий элемент) была возможность пропустить, вот
0
|
UDF
|
|
14.04.2008, 13:25 | 6 |
По поводу не будет проблеммой самому реализовать===> Покопался в книжках не могу найти с помощь какого оператора это сделать, ВОТ!!!!
Если Кто знает подскажите!!!! |
myhoyt922
|
|
14.04.2008, 13:58 | 7 |
Сообщение от UDF
А для отмены действия (записи) пиши СтатусВозврата (0) Для очищения ИНН напиши ИНН=""; (иль как у тебя реквизит там называется.... ) пример тебе уже приводили |
UDF
|
|
14.04.2008, 16:26 | 8 |
Спасибо помогло!!! ))))
|
14.04.2008, 16:26 | |
14.04.2008, 16:26 | |
Помогаю со студенческими работами здесь
8
С кодом помогите Помогите с кодом Помогите с кодом Помогите с кодом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |