powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / контроль ИНН для юр.лиц Украина
22 сообщений из 47, страница 2 из 2
контроль ИНН для юр.лиц Украина
    #35109432
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to AlexiS!
Могу ошибиться, но Вам стоило бы посетить свою налоговую - у них в базе Ваше отчество занесено под кодом 10493, а надо бы - 114! IMHO, конечно...
ЧуднЫе справочники! Ключница делала... ;-)

Теперь о деле: Вот тут было бы интересно порыться...
Все хорошо, но добиться сохранения найденной информации (таблички) не могу!
Делаю так:
Код: plaintext
1.
2.
3.
CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
...
poWinHttp.ResponseText
...
Может поможете?
И, заодно - как потом "нажать" кнопку " ВПЕРЕД "?
(Парни "зашифровались" - ФИО переделали на русский, адреса остались украинские...)
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35110018
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedrikМогу ошибиться, но Вам стоило бы посетить свою налоговую - у них в базе Ваше отчество занесено под кодом 10493, а надо бы - 114!
Блин нашел себя - данные - ну очень старые. И отчество неправильно - хрен знает как переводили.
А как этот самый код просчитать ?

насчет получения инфы и "нажатия" кнопки.
по хорошему нужно делать примерно так
Код: plaintext
1.
2.
3.
4.
5.
Public poWinHttp
poWinHttp = Createobject("WinHttp.WinHttpRequest.5.1")
poWinHttp.Open("POST", sUrl, .f.)
? poWinHttp.Send()
? poWinHttp.Status, poWinHttp.StatusText,poWinHttp.ResponseBody
тут фигня получаеться - несмотря что я формирую запрос "POST" почему-то на сервер этот запрос идет как "GET" и никакого запроса не происходит - только заполнение параметров .
И чья это ошибка - незнаю , то-ли фокса , то ли объекта "WinHttp.WinHttpRequest.5.1" скорее всего последнего.

Поэтому я решил это дело через "промежуточный " скрипт.Т.е. наш веб-програмер сляпал страничку на корпоративном сайте к которой я обращаюсь "GET" а уже эта страничка делает "POST" запрос и возвращает мне страничку.
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35110252
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=AlexiS=-А как этот самый код просчитать?
Никак - это просто код в справочнике...
По теме: кажись надо пробовать через CREATEOBJECT("InternetExplorer.Application")
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35110572
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По отчеству
русский вариант Валериевич (в паспоре так) или допускаеться Валерьевич
укр Валерiйович
как там насчет кода -правильно ?

кажись надо пробовать через CREATEOBJECT("InternetExplorer.Application")
Пробовал по всякому.
к сожалению - не получаеться.
Post- запрос получаеться какой-то "корявый" - tckb сесли ть снифером - как бы в заголовке у него POST ,а вот "унутре" - GET .
поэтому и пришлось переделывать на свою страничку.
в принципе мне так даже удобнее - прогу менять не надо , если что поменяеться .
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35111228
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На 1 украинского "ВАЛЕРІЙОВИЧ" приходится 5 вариантов русского написания:
Валерьянович
Валериевич
Валеревич
Валерьевич
Валеривич

Паспортисты - уроды!

Получилось через мои "любимые" табуляции! Помнишь?
Код: plaintext
1.
2.
3.
oIE = CREATEOBJECT("InternetExplorer.Application")
oSh = CREATEOBJECT("WScript.Shell")
...
oIE.Navigate("http://www.nomer.org/allukraina/&lastName=Янукович&firstName=Виктор&middleName=Федорович")
ждем пока не будет
Код: plaintext
oIE.Document.ReadyState <> "complete"
потом
Код: plaintext
1.
oSh.APPACTIVATE("Вся Украина - жители")
oSh.SENDKEYS(REPLICATE(CHR( 9 ), 15 )+"{ENTER}")
снова ждем
Код: plaintext
oIE.Document.ReadyState <> "complete"
и в конце-концов
Код: plaintext
lcHTML = oIE.Document.DocumentElement.InnerHTML

Осталось покопаться со ссылкой "Вперед->"...
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35566295
jubba2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, есть ИНН, начинается с 85756... , что по алгоритму:
Код: plaintext
Transform(Date( 1899 , 12 , 31 )+Val(Substr(IDK, 1 , 5 )))
соответствует дате 16.10.2134 . У клиента же указана дата рождения 01.01.1961 . Контрольный разряд правильный, т.е. код с большой степенью вероятности верный. Единственная ссылка, которую я нарыл по данному поводу следующая:

1) если код начинаеться с 7 или 8, то это даты в которые родилось очень много народу, например 1.01.47 тогда многие, ктородился 30 и 31.12 записывали на 01.01, что б в армию на год позже идти. Эти коды фиксированные, под каждую дату свой (первые 5 цифр)

Я правильно понял, что для проверки этого ИНН мне нужна табличка таких исключений (дата, код)?
Не поможет ли кто с этой табличкой?
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35566411
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну уж на форуме "Натали" вряд ли стоит искать решение вопроса! :)
Если получится - сообщу!
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35566714
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваще жестко фиксировать ошибки ИНН неправильно - ошибки совершаются не только при вводе оператором но и при присвоении. Особено много косяков было во время компании первоночальной выдачи всем работающим. И далеко не все бросили все и побежали его менять;)
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35568663
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас на 99% отказались от его изменения в случае ошибки в дате рождения! В справку добавили эту дату... "Хитромудрые" банкиры в шоке!
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35572940
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Был случай, когда пол человека, закодированный в идентификационном коде, не соответствовал реальному полу человека :)
Так что все эти проверки соответствия кода дате рождения и полу нельзя делать жесткими, только предупреждение.
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35958701
Suncat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Redrik-=AlexiS=-неплохо-бы ети коды проверять на правильность и достоверность.
Угу... Актуально!
Меня лично это "достало" настолько, что на днях сделал проверку...
Приносят списки (WORD) - или коды ЄДРПОУ, или номера свидетельств, или ИПНы.
Я их загоняю в табличку, а потом вытягиваю все, что есть на www.sta.gov.ua. Результат - вся "история" в XLS...
Могу поделиться! ;-)
P.S. Глянь почту! Проверка связи... :-)


Redrik!
Честно, нифига не шарю в программировании. Я так понимаю из вашей темы, что зная ИНН можно по фирме "вытянуть все, что есть на www.sta.gov.ua."
А можно тебя попросить это сделать по одному ИНН? Ну очень нужно!
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35959620
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А о ком/чём вопрос-то?
Тут обсуждались и физлица, и плательщики НДС...
По НДСу:
Действующие: http://www.sta.gov.ua/control/vat/search
Ликвидированные: http://www.sta.gov.ua/control/cancelledlicense/search
И всё...
А что касается данных по физлицам... Кхм... Сам понимаешь - в основном глубоко конфиденциальная инфа!
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35976913
leftjoin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может кому-то пригодится - дата рождения и пол из ИНН Украины на SQL:
to_date('19000101','YYYYMMDD')+(substr(tax_code,1,5)-1) birth_date,
decode(mod(substr(tax_code,9,1),2),1,'M','F') gender

Поделитесь пожалуйста проверкой контрольной суммы, если есть
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #35977904
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leftjoinПоделитесь пожалуйста проверкой контрольной суммы, если есть
Алгоритм - не открытая информация
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36198801
jubba2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RedrikleftjoinПоделитесь пожалуйста проверкой контрольной суммы, если есть
Алгоритм - не открытая информация
Не совсем :) Брал, не помню, с какого форума:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
Function check_inn_ukr(IDK ,mode)
Local lnKod,lnCS,ret
If Empty(mode)
	mode= 0 
Endif
If Type('IDK')='N'
	IDK=Transform(IDK)
Else
	IDK=Alltrim(IDK)
Endif

If Len(IDK)<> 10  And Len(IDK)<> 12  And Len(IDK)<> 9 
	Return - 1 
Endif
Do Case
Case Len(IDK)= 10 
* Физ.лицо
	lnCS = Val(Left(IDK,  1 ))   * - 1  +;
		VAL(Substr(IDK,  2 ,  1 )) *  5  + ;
		VAL(Substr(IDK,  3 ,  1 )) *  7  + ;
		VAL(Substr(IDK,  4 ,  1 )) *  9  + ;
		VAL(Substr(IDK,  5 ,  1 )) *  4  + ;
		VAL(Substr(IDK,  6 ,  1 )) *  6  + ;
		VAL(Substr(IDK,  7 ,  1 )) *  10  + ;
		VAL(Substr(IDK,  8 ,  1 )) *  5  + ;
		VAL(Substr(IDK,  9 ,  1 )) *  7 

	lnKod=Mod(lnCS, 11 )
	
	If  lnKod= 10 
		lnKod= 0 
	Endif

	If Val(Right(IDK, 1 ))=lnKod
		If mode= 0 
			ret=lnKod
		Else
			ret='Код правильный. Дата рождения-'+Transform(Date( 1899 , 12 , 31 )+Val(Substr(IDK, 1 , 5 )))+'. Пол-'+Iif(Mod(Val(Substr(IDK, 9 , 1 )), 2 )= 0 ,'<Ж>','<М>')
		Endif
	Else
		If mode= 0 
			ret=- 1 
		Else
			ret='Код неправильный'
		Endif
	Endif
Case Len(IDK)= 12 
* юр.лицо
	lnCS = Val(Left(IDK,    1 ))  *  11  +;
		VAL(Substr(IDK,  2 ,  1 ))  *  13  + ;
		VAL(Substr(IDK,  3 ,  1 ))  *  17  + ;
		VAL(Substr(IDK,  4 ,  1 ))  *  19  + ;
		VAL(Substr(IDK,  5 ,  1 ))  *  23  + ;
		VAL(Substr(IDK,  6 ,  1 ))  *  29  + ;
		VAL(Substr(IDK,  7 ,  1 ))  *  31  + ;
		VAL(Substr(IDK,  8 ,  1 ))  *  37  + ;
		VAL(Substr(IDK,  9 ,  1 ))  *  41  + ;
		VAL(Substr(IDK,  10 ,  1 )) *  43  + ;
		VAL(Substr(IDK,  11 ,  1 )) *  47 

	lnKod=Mod(lnCS, 11 )

	If  lnKod= 10 
		lnCS = Val(Left(IDK,    1 ))  *  13  +;
			VAL(Substr(IDK,  2 ,  1 ))  *  17  + ;
			VAL(Substr(IDK,  3 ,  1 ))  *  19  +;
			VAL(Substr(IDK,  4 ,  1 ))  *  23  + ;
			VAL(Substr(IDK,  5 ,  1 ))  *  29  + ;
			VAL(Substr(IDK,  6 ,  1 ))  *  31  + ;
			VAL(Substr(IDK,  7 ,  1 ))  *  37  + ;
			VAL(Substr(IDK,  8 ,  1 ))  *  41  + ;
			VAL(Substr(IDK,  9 ,  1 ))  *  43  +;
			VAL(Substr(IDK,  10 ,  1 )) *  47  + ;
			VAL(Substr(IDK,  11 ,  1 )) *  53 
		lnKod=Mod(lnCS, 11 )
		If  lnKod= 10 
			lnKod= 0 
		Endif
	Endif

	If Val(Right(IDK, 1 ))=lnKod
		If mode= 0 
			ret=lnKod
		Else
			ret='Код правильный.'
		Endif
	Else
		If mode= 0 
			ret=- 1 
		Else
			ret='Код неправильный'
		Endif
	Endif
Otherwise
* ТРДПАУ
	lnCS = Val(Left(IDK,    1 ))  *  9  +;
		VAL(Substr(IDK,  2 ,  1 ))  *  11  + ;
		VAL(Substr(IDK,  3 ,  1 ))  *  13  + ;
		VAL(Substr(IDK,  4 ,  1 ))  *  17  + ;
		VAL(Substr(IDK,  5 ,  1 ))  *  19  + ;
		VAL(Substr(IDK,  6 ,  1 ))  *  23  + ;
		VAL(Substr(IDK,  7 ,  1 ))  *  29  + ;
		VAL(Substr(IDK,  8 ,  1 ))  *  31 

	lnKod=Mod(lnCS, 11 )

	If  lnKod= 10 
		lnCS = Val(Left(IDK,    1 ))  *  11  +;
			VAL(Substr(IDK,  2 ,  1 ))  *  13  + ;
			VAL(Substr(IDK,  3 ,  1 ))  *  17  + ;
			VAL(Substr(IDK,  4 ,  1 ))  *  19  + ;
			VAL(Substr(IDK,  5 ,  1 ))  *  23  + ;
			VAL(Substr(IDK,  6 ,  1 ))  *  29  + ;
			VAL(Substr(IDK,  7 ,  1 ))  *  31  + ;
			VAL(Substr(IDK,  8 ,  1 ))  *  37 

		lnKod=Mod(lnCS, 11 )
		If  lnKod= 10 
			lnKod= 0 
		Endif
	Endif

	If Val(Right(IDK, 1 ))=lnKod
		If mode= 0 
			ret=lnKod
		Else
			ret='Код правильный.'
		Endif
	Else
		If mode= 0 
			ret=- 1 
		Else
			ret='Код неправильный'
		Endif
	Endif
Endcase
Return ret

Там была небольшая ошибка в :

Код: plaintext
1.
2.
3.
4.
		lnKod=Mod(lnCS, 11 )
		If  lnKod= 10 
			lnKod= 0 
		Endif

Кажется, решил через:

Код: plaintext
1.
		lnKod= Mod(Mod(lnCS, 11 ), 10 )

Есстессно, девочки из налоговой ошибаются и при вводе даты рождения, и при выборе пола. И даже контрольный разряд иногда не совпадает. Ошибка на уровне 1-2%. Поэтому клиентов с неверными кодами надо не убивать, а просто еще раз проверить их документы :)
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36211338
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jubba2001И даже контрольный разряд иногда не совпадает.
Не может быть! Дайте глянуть хоть один такой действующий номерок!
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36543332
AK55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jubba2001,
If lnKod=10
lnCS = Val(Left(IDK, 1)) * 13 +;
VAL(Substr(IDK, 2, 1)) * 17 + ;
VAL(Substr(IDK, 3, 1)) * 19 +;
VAL(Substr(IDK, 4, 1)) * 23 + ;
VAL(Substr(IDK, 5, 1)) * 29 + ;
VAL(Substr(IDK, 6, 1)) * 31 + ;
VAL(Substr(IDK, 7, 1)) * 37 + ;
VAL(Substr(IDK, 8, 1)) * 41 + ;
VAL(Substr(IDK, 9, 1)) * 43 +;
VAL(Substr(IDK, 10, 1)) * 47 + ;
VAL(Substr(IDK, 11, 1)) * 53
lnKod=Mod(lnCS,11)
If lnKod=10
lnKod=0
Endif
Endif

Скорее всего, этот кусок ошибочен.
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36547556
AK55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jubba2001,

Немного подумав, пришел к выводу, что и первая часть алгоритма вызывает сомнение

Case Len(IDK)=12
* юр.лицо
lnCS = Val(Left(IDK, 1)) * 11 +;
VAL(Substr(IDK, 2, 1)) * 13 + ;
VAL(Substr(IDK, 3, 1)) * 17 + ;
VAL(Substr(IDK, 4, 1)) * 19 + ;
VAL(Substr(IDK, 5, 1)) * 23 + ;
VAL(Substr(IDK, 6, 1)) * 29 + ;
VAL(Substr(IDK, 7, 1)) * 31 + ;
VAL(Substr(IDK, 8, 1)) * 37 + ;
VAL(Substr(IDK, 9, 1)) * 41 + ;
VAL(Substr(IDK, 10, 1)) * 43 + ;
VAL(Substr(IDK, 11, 1)) * 47

lnKod=Mod(lnCS,11)

А именно коэффициент 11!
Это означает, что в первом разряде можно вводить любое число!
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36548262
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AK55Это означает, что в первом разряде можно вводить любое число!
Почему?
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36554502
AK55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Redrik,

mod(a*11+b,11)=mod(b,11)

где:
a - первый разряд ИНН
b - сумма произведений разрядов со 2 по 11 на соответствующие коэффициенты.

P.S. Тестирование алгоритма показало, что вторая часть алгоритма не скорее ошибочна, а 100% ошибочна.
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36557350
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AK55,

Пардон! Перемкнуло... Я насчет ид. номера человека...
А здесь - да! Первая цифра ни на что не влияет, но следует учесть, что одно дело, когда ИНН имеет право существовать, а другое дело, когда он реально существует!

Дополнительно могу сказать, что контроль ИНН человека тоже далек от "красивости"!
Вот пример:
2564412450 и 2564413450
По алгоритму эти оба номера имеют право существовать, но реально присваивался и существует только один!
...
Рейтинг: 0 / 0
контроль ИНН для юр.лиц Украина
    #36558558
AK55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Redrik,

О чудо. Можно сказать, что "ткнул пальцем в небо" и, вроде, попал!
Вторая часть алгоритма проверки ИНН юридических лиц, возможно, должна выглядеть так:

If lnKod=10
lnCS = Val(Left(IDK, 1)) * 17 + ;
VAL(Substr(IDK, 2, 1)) * 19 + ;
VAL(Substr(IDK, 3, 1)) * 23 + ;
VAL(Substr(IDK, 4, 1)) * 29 + ;
VAL(Substr(IDK, 5, 1)) * 31 + ;
VAL(Substr(IDK, 6, 1)) * 37 + ;
VAL(Substr(IDK, 7, 1)) * 41 + ;
VAL(Substr(IDK, 8, 1)) * 43 + ;
VAL(Substr(IDK, 9, 1)) * 47 + ;
VAL(Substr(IDK, 10, 1)) * 53 + ;
VAL(Substr(IDK, 11, 1)) * 59
lnKod=Mod(lnCS,11)
If lnKod=10
lnKod=0
Endif
Endif
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / контроль ИНН для юр.лиц Украина
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]