Напоминалка дня рождения по ИНН

Используя конфигурацию для сельского хозяйства в Украине, понадобилась напоминалка о днях рождения сотрудников. В самой конфигурации не предусмотрено поле "День рождения", но зато есть ИНН, который и был использован для этой цели. Не судите строго, это первая разработка, выложенная мной на Ваш сайт.

Используя конфигурацию для сельского хозяйства в Украине, понадобилась напоминалка о днях рождения сотрудников. В самой конфигурации не предусмотрено поле «День рождения», но зато есть ИНН, который и был использован для этой цели.

Не судите строго, это первая разработка, выложенная мной на Ваш сайт.

8 Comments

  1. Serj1C

    7.7 у меня нету, но как можно было использовать ИНН, когда в нем данные хранятся?

    Reply
  2. AVARY

    to (1) Там вот такой алгоритм

    Код
       НомерДня = Число(Лев(Сотрудник.ИНН,5)); ДатаРождения="";
       Для н = 1900 По Число(Прав(Формат(Дата1,"ДДДММГГГГ"),4)) Цикл
          Ном = НомерДня - НомерДняГода("31.12."+Строка(н));
          Если Ном > 0 Тогда
             НомерДня = Ном;
          Иначе
             Для ч = 1 По 12 Цикл
                НомерДняМес = ДатаЧисло(КонМесяца("01."+Прав("0"+Строка(ч),2)+"."+н));
                Если НомерДня > НомерДняМес Тогда
                   НомерДня = НомерДня - НомерДняМес;
                Иначе
                   ДатаРождения=строка(Прав("0"+НомерДня,2)+"."+Прав("0"+ч,2));  
                   ГодРождения = Число(н);
                   Прервать;
                КонецЕсли;
             КонецЦикла;
             Прервать;
          КонецЕсли;
       КонецЦикла;          
    

    Показать полностью

    Reply
  3. Noy

    (2) Замени на

    ДатаРождения=Дата(«01.01.1900»)+Число(Лев(Сотрудник.ИНН),5);

    Reply
  4. v.l.

    (0) — Взгляните сюда:

    Проверка данных сотрудников (пол, дата рождения) по ИНН (для Украины)

    http://www.infostart.ru/projects/3680/

    Проверка ИНН для Украины

    http://www.infostart.ru/projects/1573/

    С первой обработкой Вы можете еще и пол проверить, и корректность введенного ИНН

    Reply
  5. alexqc

    Алгоритм ИНН — 5 первых цифр дата начиная с 01/01/1900, 4 следующих — порядковый номер, при чем четный для Ж и нечетный для М — это известно еще со времени введения ИНН, и так сказать в открытом доступе. Гораздо интереснее 10-я цифра, контрольная. Вот она считается по «секретному» алгоритму, который никто не знает :). Хотя лично мне, например, это странно: таким образом что, хотят от каких-то мошенников защитится? Так это довольно спорная защита: во-первых, «кому надо — тот знает», во-вторых — могут просто надыбать базу с готовыми ИННами.

    Так вот, может кто знает алгоритм контрольной суммы?

    Reply
  6. Noy

    Присоединяюсь к вопросу в (5)

    Reply
  7. sergeante

    (5) (6)

    яндекс рулит

    вот тут много интересного, в том числе и про ИНН

    http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0­%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE

    Reply
  8. alexqc

    (7) ….Во блин, какой я идиот, пояндексить не додумался…

    На самом деле, тут не рулит ни яндекс, ни гугль 🙂 . Это распространенное заблуждение: спрашиваешь про ИНН _физлица в Украине_ — а тебе в ответ — ИНН _организации в России_.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *