Выгрузка в DBF для Сбербанка + подпись файла ЭЦП из 1С


Внешняя обработка для выгрузки данных из ведомости на выплату заработной платы в реестр пластиковых карт для передачи в Сбербанк в формате DBF. с возможностью ее подписи ключом ЭЦП из 1С 7.7

Сотрудники по зарплате постоянно дергали меня для выгрузки файла по зп в Сбербанк, меня всегда раздражала это мута с дискетами постоянно это вставь подпиши другую вставь подпиши и так 4 раза ааааааа Yell

Решил сделать так что файл нужно как то подписать без этик вставить вытащить вставить вытащить (я про дискеты ) 

Долго решал проблему, первая попытка была сделана на Delphi 7 работает )), но она была как отдельная программа (полностью меня не устроила), хотелось что то другое хотел что бы файл можно было бы подписать не посредственно из 1С. И вот все таки решил проблему )).

Не чего нового в обработке почти нет с точки зрения выгрузки в DBF.

Вся особенность заключается в написании батника. И так начнем поэтапно.

  1. Должна стоять ПО Sbersign
  2. скачать NirCMD нужна для отсылки пароля при подписи файла кличем ЭЦП
  3. Скачать Virtual Floppy Drive. эмулятор дисковода для создания виртуальных дискет 

   Для начало на машине в настройках «Языка и службы текстового ввода» в параметрах клавы задать сочетание клавиш (допустим анг-CTRL+SHIFT+1 а для рус-CTRL+SHIFT+2)Вы спросите зачем это нужно …. а затем что при подписи файла ПО Sbersign он запрашивает пароль, а мой батник его отправляет, так вот если раскладка не верна, то и пароль будет не верен, по этому батник ссылаясь на эту комбинацию меняет раскладку на анг и возвращает обратно в рус.

Теперь настраиваем VFP все описания по настройке VFP приведены в ссылках. 

кидаем в католокИБ 1С NirCMD скаченный батник New2.bat.

В extforms обработку по выгрузке в ДБФ

настраиваем New2.bat под свою систему…

1:C:
ircmdc.exe cmdwait 100 sendkeypress ctrl+leftshift+1- устанавливает раскладку анг

2:start «» /b C:
ircmdc.exe cmdwait 1000 sendkeypress «пароль администратора домена  пример: 1 2 3 4 (символы писать через пробел)» enter
   runas /user:Domenuser (доменпользователь(админ)) «c:Virtual Floppyvfd.exe close a:»  — извлекает дискету из виртуального дисковода с админскими правами                                                                                                                            

rem — podpisat fail
3:start «» /b C:
ircmdc.exe cmdwait 5000 sendkeypress z leftshift+M leftshift+W r enter — запуск nircmd c паролем ЭЦП

rem — %1 param/ peredaet put k failu
4:C:sbersignsbersign.exe /s %1 -запуск sbersign для подписи файла

rem — menyaem raskladku na Ru
C:
ircmdc.exe cmdwait 100 sendkeypress ctrl+leftshift+2

НЕ забывайте разрулить права не то не подпишет (sbersign не умет подписывать сетевые файлы)

Не судите строго если что то не смог объяснить … Embarassed

 

3 Comments

  1. SiAl

    Автор читай художественную литературу и по более, повышай гуманитарный уровень. Это ж позор — вроде специалист умственного труда, а стилистика и пунктуация на уровне 5-го класса средней школы.

    Reply
  2. Черный Плащ

    (1) спс )) буду знать

    Reply
  3. yuran2000

    «

    sbersign не умет подписывать сетевые файлы

    » — но умеет подписывать на подключенном сетевом диске.

    Да и с Virtual Floppy заморочки лишние, достаточно в настройках указать путь где лежит ЭЦП, хоть на на этом же диске. Если подписей несколько, то можно записать их все на одну флешку в разные подпапки, а настройки путей для каждой подписи изменять reg-файлом.

    Reply

Leave a Comment

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