Прямой доступ к данным клиент банка Сбербанка РФ

21.06.12

Учетные задачи - Банковские операции

Данное решение является примером взаимодействия с данными клиент банка Сбербанка, показывает возможные способы обмена с произвольной конфигурацией 1С.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Convert
.zip 68,47Kb
30
30 Скачать (1 SM) Купить за 1 850 руб.

Возникла у меня на днях задача организовать прямой доступ к выпискам Сбербанка РФ, уже загруженным в клиент банк. Казалось бы ничего сложного, ADO, нужный OLE DB провайдер и вперед. Однако неисповедимы пути монополиста. Все данные лежат в таинственном ".ddf" формате, про который известно лишь то, что это разработка самого сбербанка, жутко секретная, шифрующая данные на лету итд итп. На  просторах интернетов однако удалось найти упоминание утилиты "convert.exe" которая умудряется данные эти извлекать, помещать в "dbase" или текст. В свободном доступе утилиты почему то не оказалось, специалисты банка предоставить её так же отказались, казалось бы почему? Это же мои данные! У меня и ключи все есть, дайте их прочитать. В мире не без добрых людей, я таки получил этот "программный продукт".

Утилита оказалась под ДОС. Она не умела работать с длинными именами файлов с пробелами, она не умела создавать "dbase" файл, а требовала, чтоб ей предоставили пустой с подготовленной структурой, соответствующий формату файла шаблона, который тоже необходимо было подготовить предварительно ручками.

Для её удобоваримого использования была придумана следующая схема:

  1. В планировщике по расписанию работает скрипт, который генерит "dbase" файл из ".ddf" файла
  2. Целевой софт (в моем случае это была БП 2.0) открывает этот "dbase" файл и обрабатывает как его душе угодно

Второй пункт интереса не представляет, поэтому расскажу о подводных камнях по первому пункту.

  • Данная утилита не будет работать на x64 операционной системе. Там больше нет виртуальной дос машины.
  • Данная утилита не воспринимает файлы шаблона с "неправильным" расширением.
  • Данная утилита не сможет работать с длинными именами файлов с пробелами, никаких Documents and settings

 

Скрипт реализован на Powershell. В заголовке файла Convert.ps1 необходимо указать пути до ваших данных.

Идея следующая:

  • Networkdir -это папка, где лежат: файл данных, шаблон конвертации ddf-dbf, пустой dbf файл.
  • Tempdir -это папка, где будут находиться временные файлы, создаваемые для работы утилиты конвертации.Не разрешены длинные имена, пробелы, сетевые пути.
    • vibor.ddf - файл данных клиента сбербанка, содержащий информацию о выписках
    • sbrf.obd - файл шаблона конвертации. В нем описывается откуда, куда и какие поля необходимо грузить
    • emptybank.dbf - пустой файл формата dbase III c заранее подготовленной под правила конвертации структурой

Так как скрипт работает параллельно целевой информационной системе,  и генерирует случайные имена файлов каждый раз при запуске, прибираться за собой во временном каталоге - его работа. При старте он удаляет все "dbf" файлы, кроме шаблона. После этого генерируются имена временных файлов, в которые будут помещены локальные копии необходимых файлов (ДОС программа не сможет работать по сети и с длинными именами). После генерации имен файлов необходимо отредактировать шаблон выгрузки, так как в нем указывается файл источник и файл приемник. Тут возникает неожиданная проблема: хотя файлы уже созданы - утилита их не видит. Помогла вставка задержки. ДОС программы вызываются асинхронно, скрипт не ждет, пока выполнится программа. Поэтому приходится ставить ещё одну задержку после вызова программы. После создания "dbf" файла  он копируется в общую папку для целевой программы. После исполнения скрипта программа подчищает за собой все временные файлы из папки временных файлов.

Отдельное спасибо Bill Stewart за его утилиту по замене строки в файлах.

См. также

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 руб.

12.06.2017    142211    802    297    

423

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.236.x) и БП 3.0 (3.0.164.x). Правила подходят для версии ПРОФ и КОРП.

35000 руб.

15.12.2021    24343    172    51    

131

SALE! 15%

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    21055    21    49    

38

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

35000 руб.

23.07.2020    51895    229    71    

187

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171430    305    257    

381

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36862    95    66    

92

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Устали вручную дозаполнять и корректировать документы по банку после загрузки банковской выписки? С помощью правил обработки банковской выписки вы сможете автоматически определять правильный вид хозяйственной операции, заполнять расшифровку, аналитику платежа и многое другое.

15000 руб.

21.03.2023    11579    77    16    

65

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 руб.

18.02.2016    187189    591    512    

529
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. director04 3660 22.06.12 09:21 Сейчас в теме
Плюс за пытливость ума
2. logos 215 22.06.12 09:25 Сейчас в теме
Спасибо, жизнь заставит, ещё не так вертеться придётся.
3. Модератор раздела 23.06.12 16:26 Сейчас в теме
(0) Поделись, зачем нужен прямой доступ к выпискам клиент-банка?
Опиши задачу, пожалуйста.
Интересно
4. logos 215 25.06.12 09:02 Сейчас в теме
Как обычно, отсутствие удобного всем регламента взаимодействия подразделений. В 1С выписки загружает бухгалтерия, когда ей удобно, совсем не в то же время, когда производится загрузка данных из банка. А отделу продаж информация об оплатах нужна как можно скорее. Чтобы не громоздить дополнительное рабочее место итд был реализован прямой доступ.
5. mdie 86 14.07.12 06:13 Сейчас в теме
Вам бы найти "динозавра" (в хорошем смысле), который еще помнит DOS и программирование под него, чтобы "расковырять" эту программку (хотя бы с целью алгоритмизации). А на основании этих полученных данных уже не проблемой было бы переписать под Win32 и даже х64. Хотя, как я подозреваю, должны быть подобные вещи (функционал convert.exe) и под Win, раз уж 1С функционирует с Клиент-банком и эти данные грузит и т.д.
Кстати без проблем нашел и файл convert.exe, и кое-какую документацию вот тут.
P.S. Оказывается все есть и для Win - только теперь это делается через их компоненту ConvIn1C.dll, которая поставляется вместе с КБ
6. logos 215 16.07.12 09:12 Сейчас в теме
(5) mdie,
По поводу первой ссылки, знакомился с документацией оттуда. В упор не вижу там самого файла конверт. Если не затруднит, ткните меня носом пожалуйста. Про ConvIn1C.dll - идея интересная надо покопать, как он работает, ком-ом или динамической линковкой
7. logos 215 16.07.12 09:25 Сейчас в теме
Покопался немного, ConvIn1C.dll возможно и будет выполнять функции конвертации, но задача ещё веселее, чем с convert.exe. Нужно раскопать её интерфейс, написать бинарник, который подгружает эту библиотеку, по сути - наваять софтину, которая будет конвертить под win32. Ещё б было на это время на работе помимо основных обязанностей 1сника :)
Оставьте свое сообщение