Имя: Пароль:
1C
 
запрет на создание дублирующего контрагента
0 pers200590
 
29.04.10
11:16
Здравствуйте подскажите как организовать запрет на запись элемента при наличии в наименовании кавычек запятых парных пробелов в справочнике контрагентов конфа ТИС
Сейчас в конфе мой код на дублируемое наименование такой

СпрКонтр=СоздатьОбъект("Справочник.Контрагенты");
     Если СпрКонтр.НайтиПоРеквизиту("ПолнНаименование",ПолнНаименование,1)=1 тогда
        Предупреждение("Контрагент: "+ПолнНаименование+" уже существует! Глаза разуй!");
        СтатусВозврата(0); Возврат;
        Возврат;
     КонецЕсли;
1 Ненавижу 1С
 
гуру
29.04.10
11:18
(0) может лучше по ИНН/КПП проверять?
2 Kreont
 
29.04.10
11:18
Вобщето я делаю запрет на запись новых только если есть с таким же кодом ЗКПО, а не по наименованию
3 Мулька
 
29.04.10
11:19
(1) +1
4 Ursus maritimus
 
29.04.10
11:19
(0) Возврат два раза для надежности?
5 Ursus maritimus
 
29.04.10
11:20
(0) То что написано, работать правильно не будет.
6 Troodon
 
29.04.10
11:20
голосую за (1)
7 Irbis
 
29.04.10
11:20
(1)+1 ОГРН еще можно использовать
8 pers200590
 
29.04.10
11:22
(1)у меня при вводе нового контрагента инн не используется
9 pers200590
 
29.04.10
11:23
подскажите
10 Irbis
 
29.04.10
11:23
(8)А на кой его тогда вводить?
11 Kreont
 
29.04.10
11:24
(8) А зря :) Сделай всю форму ввода нового контрагента недоступной, а доступной только поле с ИНН/ЗКПО(etc), и при окончании ввода проверяешь есть в базе или нет, если нету такого то делаешь все поля доступными
12 GedKo
 
29.04.10
11:25
(8) пиши ИИ. тривиальная задачка, по сравнению с введением использования ИНН.
13 Irbis
 
29.04.10
11:26
И до кучи пприкрути проверку ИНН на корректность чтобы туфту туда не "колотили"
14 Kreont
 
29.04.10
11:26
Вот код из стандартной бухгалтерии:

// =========================================================
Процедура ПроверитьЕДРПОУ()
   Спр = СоздатьОбъект("Справочник.Контрагенты");
   Если Спр.НайтиПоРеквизиту("ЕДРПОУ", ЕДРПОУ, 1) = 1 Тогда
       глКомментарий("Обнаружен контрагент """ + Спр
                     + """ с таким же ЕДРПОУ: " + ЕДРПОУ + " !", 0);
   КонецЕсли;
КонецПроцедуры

// =========================================================
Процедура ИзмЕДРПОУ()
   Если ПустоеЗначение(ЕДРПОУ) = 0 Тогда
       Если ЕДРПОУ <> СтарыйЕДРПОУ Тогда
           ПроверитьЕДРПОУ();
       КонецЕсли;
   КонецЕсли;
   СтарыйЕДРПОУ = ЕДРПОУ;
КонецПроцедуры
15 pers200590
 
29.04.10
11:28
(14)у меня ТИС
16 pers200590
 
29.04.10
11:32
(11) ИНН и другое не используем если чел просит выбить накладную допустим на Верткова Д.А. просто его забиваю в наименование и все а если юр лицо то можно подумать и использовать но это потом
17 GedKo
 
29.04.10
11:34
(16) про однофамильцев не слышал?
18 GedKo
 
29.04.10
11:36
имхо, с физиками очень удобно работать через "уникальный" параметр мобильный телефон.
19 pers200590
 
29.04.10
11:37
(18) эт понятно что удобно и телефон почти не нужен при вводе нового контрагента
20 pers200590
 
29.04.10
11:38
а можно по конкретнее по моему вопросу
21 Маленький Вопросик
 
29.04.10
11:38
(20) по ИНН и КПП проверяй. Так в стандартном обмене по крайней мере
22 GedKo
 
29.04.10
11:39
(19) блин, я тебе советую как сократить количество дублей в справочнике. потому что твой способ - полная чушь (не обработает опечатки, комбинации латиницы/кириллицы, разных символов и много другого)
23 antoneus
 
29.04.10
11:45
+ два пробела влепят между фамилией и инициалами - и привет)
24 Kreont
 
29.04.10
11:47
Злой Пример который не обработаешь никак:
есть клиент: ООО "Газмяс"
вносим 2 раз: 000 "Газмяс" // нолики вместо букв
вносим 3 раз: OOO "Газмяc" // "c" последняя-английская
вносим 4 раз: OOO ''Газмяс''

и т.д.
в итоге 4 новых клиента :)
25 фобка
 
29.04.10
11:48
("Контрагент: "+ПолнНаименование+" уже существует! Глаза разуй!");
норм, так их!

по теме, наименование это чушь, конечно)  всех случаев опечаток после кропотливой работы пользователей ты не учтешь) хотя при записи можно попробовать делать замены - но смирись с дублями, т.к. они у тебя будут
26 фобка
 
29.04.10
11:51
+(24) OOO"Газмяc" - стандарт
27 Troodon
 
29.04.10
11:56
(9) самое простое и неоптимизированное - это

по поводу символов:
Для К = 1 По СтрДлина(ПолнНаименование) Цикл
    Буква = Сред(ПолнНаименование,К,1);
    Если Найти("0123456789АБВГДЕЁ..и так весь алфавит",Врег(Буква)) > 0 Тогда
        Сообщить("Не то");
    КонецЕсли;
КонецЦикла;
но опять же, от всего не спасет.

по поводу пробелов:
вроде бы, простое СтрЗаменить(ПолнНаименование,"  "," ") поможет, либо оно же в цикле.
28 Irbis
 
29.04.10
11:58
(16) Как ни странно, с недавних пор в России у "физиков" тоже ИНН есть
29 фобка
 
29.04.10
11:59
+(24)
ооо "газмяс" или капсом,
ООО "Гозмяс"
ООО "Газ мяс",
ООО "Газ-мяс",
просто Газмяс,
а также "о" англ.
Все это только часть распространенных ошибок при ручном вводе.
А так, можно попробовать выгрузить в ТЗ (без кавык в одном регистре, замена анг на рус) и уже там Найти(). Но думаю запись будет работать не оч быстро)
30 GedKo
 
29.04.10
12:01
(28) как думаешь, сколько процентов россиян вспомнят свой инн? =)
31 Irbis
 
29.04.10
12:06
(30) Что его вспоминать, у меня в паспорте есть. Кому понадобится вспомнят, у нас при заключении договора с физиком в обязательном порядке фигурирует.
32 aka AMIGO
 
29.04.10
12:18
со вчерашнего дня у меня работает Поиск контрагентов.. Пока только поиск, сегодня сделаю запреты на ввод.. если мне не помешают :)
http://i029.radikal.ru/1004/e0/635e119eb6c6.jpg
33 Ненавижу 1С
 
гуру
29.04.10
12:22
а если в строку поиска ввести АльЯнсСтрой (без пробелов?)
34 Ненавижу 1С
 
гуру
29.04.10
12:22
(33) к (32)
35 aka AMIGO
 
29.04.10
12:24
36 фобка
 
29.04.10
12:27
+ (33) ога, поиск надо просто без пробелов и символов чтобы "СтройБизнесАльянсы"  не попадали
37 pers200590
 
30.04.10
03:10
(32) сделаешь и поможешь надеюсь
38 Злопчинский
 
30.04.10
03:21
уй ну вы забодали... прикручиваешь нечеткое сравнение строк и отлавливаешь все что тебе надо... перетирали кучу раз...
39 Злопчинский
 
30.04.10
03:23
поройся на ифностарте - есть обработка для вылавливания "дублей" контрагентов, или переточи мою для поиска "дублей" номенклатуры: http://www.infostart.ru/public/14255/,
можешь еще вот эту посмотреть http://www.infostart.ru/public/14192/
AdBlock убивает бесплатный контент. 1Сергей