Сотрудники по зарплате постоянно дергали меня для выгрузки файла по зп в Сбербанк, меня всегда раздражала это мута с дискетами постоянно это вставь подпиши другую вставь подпиши и так 4 раза ааааааа
Решил сделать так что файл нужно как то подписать без этик вставить вытащить вставить вытащить (я про дискеты )
Долго решал проблему, первая попытка была сделана на Delphi 7 работает )), но она была как отдельная программа (полностью меня не устроила), хотелось что то другое хотел что бы файл можно было бы подписать не посредственно из 1С. И вот все таки решил проблему )).
Не чего нового в обработке почти нет с точки зрения выгрузки в DBF.
Вся особенность заключается в написании батника. И так начнем поэтапно.
- Должна стоять ПО Sbersign
- скачать NirCMD нужна для отсылки пароля при подписи файла кличем ЭЦП
- Скачать Virtual Floppy Drive. эмулятор дисковода для создания виртуальных дискет
Для начало на машине в настройках "Языка и службы текстового ввода" в параметрах клавы задать сочетание клавиш (допустим анг-CTRL+SHIFT+1 а для рус-CTRL+SHIFT+2)Вы спросите зачем это нужно .... а затем что при подписи файла ПО Sbersign он запрашивает пароль, а мой батник его отправляет, так вот если раскладка не верна, то и пароль будет не верен, по этому батник ссылаясь на эту комбинацию меняет раскладку на анг и возвращает обратно в рус.
Теперь настраиваем VFP все описания по настройке VFP приведены в ссылках.
кидаем в католокИБ 1С NirCMD скаченный батник New2.bat.
В extforms обработку по выгрузке в ДБФ
настраиваем New2.bat под свою систему...
1:C:\nircmdc.exe cmdwait 100 sendkeypress ctrl+leftshift+1- устанавливает раскладку анг
2:start "" /b C:\nircmdc.exe cmdwait 1000 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 не умет подписывать сетевые файлы)
Не судите строго если что то не смог объяснить ...