Зовнішня обробка для вивантаження даних з відомості на виплату заробітної плати в реєстр пластикових карт для передачі до Ощадбанку в форматі DBF. з можливістю її підпису ключем ЕЦП з 1С 7.7
Співробітники за зарплатою постійно смикали мене для вивантаження файлу по зп в Ощадбанк, мене завжди дратувала це мута з дискетами постійно це встав підпиши іншу встав підпиши і так 4 рази ааааааа
Вирішив зробити так що файл потрібно як то підписати без етик вставити витягнути вставити витягнути (я про дискети)
Довго вирішував проблему, перша спроба була зроблена на Delphi 7 працює)), але вона була як окрема програма (повністю мене не влаштувала), хотілося щось інше хотів би файл можна було б підписати не посередньо з 1С. І ось все таки вирішив проблему)).
Не чего нового в обробці майже немає з точки зору вивантаження в DBF.
Вся особливість полягає в написанні батника. І так почнемо поетапно.
- Повинна стояти ПО Sbersign
- скачати NirCMD потрібна для відсилання пароля при підпису файлу кличем ЕЦП
- Завантажити Virtual Floppy Drive. емулятор дисковода для створення віртуальних дискет
Для початок на машині в настройках "Мови і текстові служби" в параметрах клави задати поєднання клавіш (припустимо анг-CTRL + SHIFT + 1 а для рус-CTRL + SHIFT + 2) Ви запитаєте навіщо це потрібно. а потім що при підпису файлу ПО Sbersign він запитує пароль, а мій батник його відправляє, так от якщо розкладка не вірна, то і пароль буде не вірний, з цього батник посилаючись на цю комбінацію змінює розкладку на анг і повертає назад в рус.
кидаємо в католокІБ 1С NirCMD скачав батник New2.bat.
У extforms обробку з вивантаження в ДБФ
налаштовуємо New2.bat під свою систему.
1: C: \ nircmdc.exe cmdwait 100 sendkeypress ctrl + leftshift + 1 встановлює розкладку анг
2: start "" / b C: \ nircmdc.exe cmdwait тисячі sendkeypress "пароль адміністратора домена приклад: 1 2 3 4 (символи писати через пробіл)" enter
runas / user: Domen \ user (домен \ користувач (адмін)) "c: \ Virtual Floppy \ vfd.exe close a:" - витягує дискету з віртуального дисковода з адмінській правами
rem - podpisat fail
3: start "" / b C: \ nircmdc.exe cmdwait 5000 sendkeypress z leftshift + M leftshift + W r enter - запуск nircmd c паролем ЕЦП
rem -% 1 param / peredaet put k failu
4: C: \ sbersign \ sbersign.exe / s% 1 -запуск sbersign для підпису файлу
rem - menyaem raskladku na Ru
C: \ nircmdc.exe cmdwait 100 sendkeypress ctrl + leftshift + 2
НЕ забувайте розрулити права не те не підпише (sbersign не вміти підписувати мережеві файли)
Не судіть строго якщо що то не зміг пояснити.