Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/101: Рейтинг темы: голосов - 101, средняя оценка - 4.57
UDF
1

Помогите с кодом!

13.04.2008, 17:39. Показов 18468. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот есть такой кусок кода. Надо дописать чтоб программа не давала записывать данные если ИНН повторяется! Как это сделать???

// Список найденных элементов с таким же ИНН.
Список = СоздатьОбъект("СписокЗначений");

Объект = СоздатьОбъект("Справочник.ЮрЛица");
Объект.ВыбратьЭлементыПоРеквизиту("ИНН", ИНН, 0, 1);

// Поиск элементов с таким же ИНН.
Пока Объект.ПолучитьЭлемент(1) = 1 Цикл
Если Объект.ТекущийЭлемент() = ТекущийЭлемент() Тогда
Возврат; // элемент уже был записан
Иначе
Список.ДобавитьЗначение(Объект.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;

// Найдены элементы с таким же ИНН.
Если 0 < Список.РазмерСписка() Тогда
Стр = "В справочнике """+Объект.ПредставлениеВида()+""" уже есть элементы с таким же ИНН1111!";

КонецЕсли;

КонецПроцедуры // ПриИзмененииИНН()
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2008, 17:39
Ответы с готовыми решениями:

Помогите с кодом
Такая задача Есть таблица (например в ней перечислены пользователи) есть промежуток времини...

помогите с кодом
Хочу создать DBF файл с тремя полями и выгрузить в него справочник тарифы,Вот код &amp;НаКлиенте...

Помогите Разобраться С Кодом
В общем я в этой сфере совсем недавно, так что я многого не знаю :D Мне нужно чтобы в wordе...

Касса и отчеты, помогите с кодом
Доброго времени суток господа. У меня такая проблема, понадобилось мне написать базу для 1с 8.0...

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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2008, 16:26
Помогаю со студенческими работами здесь

С кодом помогите
void __fastcall TForm1::Button1Click(TObject *Sender) { ffblk info = {0}; int result; ...

Помогите с кодом
Всем доброго времени суток. Вот задали написать прогу для сравнения 3-х чисел введённых с...

Помогите с кодом
#include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

Помогите с кодом
Доброго времени суток. Есть простые часы на tiny2313+ds1307, програма была написана в CVAVR. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru