Автоматическая загрузка выписок Сбербанк-бизнес онлайн с помощью 1С:ДиректБанк для УТ 11

24.11.22

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

Позволяет грузить выписки из Сбербанка онлайн в автоматическом режиме. Требуется один раз авторизация по СМС при начале работы системы.

Файлы

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

Наименование Скачано Купить файл
Автоматическая загрузка выписок Сбербанк-бизнес онлайн с помощью 1С:ДиректБанк для УТ 11:
.cfe 24,38Kb ver:11.4.8.92
2 4 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Идея взята из этой публикации Загрузка выписок в УНФ  и адаптирована под УТ 11 

Принцип работы 1С:ДиректБанк: 
Запрашиваем выписку, авторизовываемся, подтверждаем авторизацию СМС паролем и получаем выписку. Все хорошо работает, но для того что бы спустя время повторно получить выписку, приходится опять проходить авторизацию.
Само подключение подключение к 1С:ДиректБанк - не рассматриваем, так как в интернете полно инструкций, да и встроенная обработка по подключению полностью автоматизирована.

О способе: 
Эмпирически было замечено, что сбербанк после авторизации для получения выписки инициирует vpn соединение и завершает сессию при отсутствии активности спустя некоторого времени. Так что мы будем использовать эту особенность для многократного получения выписок, по сути постоянно генерируем активность в сессии не давай ей закрыться.
В общем этот способ хоть и костыль, но позволяет нам оперативно видеть движения по расчетному счету и минимизировать человеческий фактор.

Способ безопасен, ибо дает возможность только получения выписок, для отправки платежей все равно потребуется подписывание с помощью СМС.

Из минусов, придется держать открытым 1С с запущенной формой загрузки выписок

 

1. Добавляем новое расширение, называем как хотим и снимаем оба флажка в списке расширений.

2. Добавляем в расширение форму "Обработка.КлиентБанк.ФормаЗагрузка"

3. В расширяемой форме, добавляем новый реквизит "Таймер", тип Число. Установка Таймера - будет отключать все. Для удобства включаем у реквизита "Таймер" флаг "Сохранения", что бы значение таймера сохранялось.

4. Добавляем в удобное для вас место на форме. (смотри скриншот )

5. Вставляем код в модуль расширяемой формы  "Обработка.КлиентБанк.ФормаЗагрузка"


// "нажимаем" кнопку "Запросить выписку" 
&НаКлиенте
Процедура РоботСбербанк_ЗапроситьЭлектроннуюВыпискуБанка() экспорт
	
//	Делаем отметку счетов для загрузки
	Для каждого Счет Из Объект.БанковскиеСчета Цикл
		Если Счет.Загружается Тогда
			Продолжить;
		КонецЕсли;
		Если Счет.ПрямойОбмен Тогда
			Счет.Пометка = Истина;
		КонецЕсли;
	КонецЦикла;
//Программно нажимаем кнопку запросить выписку	
	ИмяНужнойКоманды = "ЗагрузитьДокументы"; 
	// Тут просто имя команды как в конфигураторе. 
	НужнаяКоманда = ЭтаФорма.Команды.Найти(ИмяНужнойКоманды); // Находим команду на форме 
	ЗагрузитьДокументы(НужнаяКоманда);  
КонецПроцедуры


&НаКлиенте
&После ("ЗавершитьЗагрузку") 
Процедура РоботСбербанк_После_ЗавершитьЗагрузку()
	
    // Если у нас установлен Таймер повторного запроса выписки
    Если Таймер > 0  тогда
        ПодключитьОбработчикОжидания("РоботСбербанк_ЗапроситьЭлектроннуюВыпискуБанка", Таймер, Истина); // Устанавливаем Таймер на повторную загрузку выписки.
        возврат;
    КонецЕсли;
  
КонецПроцедуры

6. Добавляем в расширение "ОбщийМодуль.ОбменСБанкамиСлужебныйКлиент"

7. Вставляем в модуль код, чтобы убрать не нужный интерактивный вопрос.

&Вместо ("ПослеФормированияИОтправкиЗапросовВыпискиСбербанк")

// Асинхронный обработчик, вызываемый из ОбменСБанкамиКлиент.ПолучитьВыпискуБанка
//
// Параметры:
//  Результат - Структура - см. описание в ДлительныеОперацииКлиент.ОжидатьЗавершение
//  ДополнительныеПараметры - Произвольный - значение, которое было указано при создании объекта ОписаниеОповещения.
//
Процедура РоботСбербанк_ПослеФормированияИОтправкиЗапросовВыпискиСбербанк(Результат, ДополнительныеПараметры) Экспорт
	
	ПараметрыЖурналирования = ОбменСБанкамиСлужебныйВызовСервера.ПараметрыЖурналирования(
		ДополнительныеПараметры.НастройкаОбмена);
		
	Если ПараметрыЖурналирования.ИспользоватьЖурналирование Тогда
		СохранитьЖурналВФайл(ДополнительныеПараметры.НастройкаОбмена, ПараметрыЖурналирования.КаталогДляЖурналирования);
	КонецЕсли;
	
	Если Результат = Неопределено Тогда // задание было отменено пользователем
		Возврат;
	КонецЕсли;
	
	Если Результат.Статус = "Ошибка" Тогда
		ВидОперации = НСтр("ru = 'Отправка запросов выписок в Сбербанк'");
		ОбработатьОшибку(ВидОперации, Результат.ПодробноеПредставлениеОшибки, Результат.КраткоеПредставлениеОшибки,
			ДополнительныеПараметры.НастройкаОбмена);
	Иначе // выполнено
		РезультатОперации = ПолучитьИзВременногоХранилища(Результат.АдресРезультата);
		Если РезультатОперации.ГотовыеВыписки.Количество() Тогда
			ДополнительныеПараметры.Вставить("ГотовыеВыписки", РезультатОперации.ГотовыеВыписки);
			ОписаниеОповещенияОЗавершении = Новый ОписаниеОповещения(
				"ПолучитьВыпискуСбербанкаПослеВопросаОбИхНаличии", ЭтотОбъект, ДополнительныеПараметры);
			ТекстВопроса = НСтр("ru = 'В базе уже есть выписки банка за указанный период.
									|Загрузить выписки из базы или получить новые из банка?'");
			Кнопки = Новый СписокЗначений;
			Кнопки.Добавить(Истина, НСтр("ru = 'Загрузить из базы'"));
			Кнопки.Добавить(Ложь, НСтр("ru = 'Получить из банка'"));
			Кнопки.Добавить(КодВозвратаДиалога.Отмена);
			Заголовок = НСтр("ru = 'Выбор способа получения выписки'");
//			ПоказатьВопрос(ОписаниеОповещенияОЗавершении, ТекстВопроса, Кнопки, , Истина, Заголовок);
//Сразу грузим выписки без вопроса
	        ПолучитьВыпискуСбербанкаПослеВопросаОбИхНаличии(Ложь, ДополнительныеПараметры)
		ИначеЕсли РезультатОперации.МассивТикетов.Количество() Тогда // запросы были отправлены в банк и получены тикеты
			ВладелецФормы = ДополнительныеПараметры.Владелец;
			ПараметрыФормы = Новый Структура("МассивСообщенийОбмена, НастройкаОбмена, ГотовыеВыписки, ДатаНачала, ДатаОкончания,
											|ПринудительноеПолучениеВыписки, НомерСчета");
			ЗаполнитьЗначенияСвойств(ПараметрыФормы, ДополнительныеПараметры);
			ПараметрыФормы.Вставить("ВидОперации", "ПолучениеВыписки");
			ПараметрыФормы.Вставить("МассивТикетов", РезультатОперации.МассивТикетов);
			ПараметрыФормы.Вставить("МассивСообщенийОбмена", РезультатОперации.МассивСообщенийОбмена);
			ПараметрыФормы.Вставить("ГотовыеВыписки", Новый Массив);
			ОткрытьФорму("Обработка.ОбменСБанками.Форма.ЗапросВБанк", ПараметрыФормы, ВладелецФормы);
		ИначеЕсли РезультатОперации.ИспользуетсяТокен Тогда
			ДополнительныеПараметры.Вставить("ГотовыеВыписки", Новый Массив);
			ДополнительныеПараметры.Вставить("МассивСообщенийОбмена", РезультатОперации.МассивСообщенийОбмена);
			ОбработчикПослеПодписания = Новый ОписаниеОповещения(
				"ОтправитьЗапросВыпискиПослеПодписанияСбербанк", ЭтотОбъект, ДополнительныеПараметры);
			ПодписатьЭДСбербанк(
				ОбработчикПослеПодписания, ДополнительныеПараметры.НастройкаОбмена, РезультатОперации.МассивСообщенийОбмена);
		Иначе //отправка по логину, требуется установка сессии.
			ДополнительныеПараметры.Вставить("МассивСообщенийОбмена", РезультатОперации.МассивСообщенийОбмена);
			Обработчик = Новый ОписаниеОповещения(
				"ПолучитьВыпискиПослеБазовойАутентификацииСбербанк", ЭтотОбъект, ДополнительныеПараметры);
			ВыполнитьБазовуюАутентификациюСбербанк(Обработчик, ДополнительныеПараметры.РеквизитыНастройкиОбмена.ИмяВнешнегоМодуля,
				ДополнительныеПараметры.НастройкаОбмена, ДополнительныеПараметры.НастройкаОбмена);
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

Тестировалось на версии УТ 11.4.8.92

Вступайте в нашу телеграмм-группу Инфостарт

ДиректБанк автоматическая загрузка выписок УТ 11

См. также

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

Корректируйте банковские документы быстро и легко! Создайте правило обработки, и оно автоматически применится при загрузке выписки, экономя ваше время (Можно настроить отбор по любому реквизиту или по регулярному выражению). Решение позволяет автоматически заполнять расшифровку платежа, исключать загрузку ненужных документов (дублей) из банка, заполнять комиссию за эквайринг и многое другое. Вам не нужно доплачивать за алгоритмы, они уже включены в решение. Автоматическая обработка применяется при загрузке данных как из файлов клиент банка, так и через DirectBank. Доступен AI чат бот который умеет консультировать по функционалу решения.

15250 руб.

20.12.2024    15532    67    29    

63

Обмен с интернет-банком 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Автоматическая загрузка банковской выписки — это решение для интеграции с банками через API, которое упрощает процедуру загрузки банковских операций в 1С, экономя время и ускоряя бизнес-процессы предприятия. Решение поддерживает в т.ч. автоматическую загрузку выписок из файлов в электронной почте и локальном каталоге.

73200 руб.

26.03.2026    946    2    2    

1

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение позволяет автоматически заполнять отдельные реквизиты загружаемых банковских документов, основываясь на известных значениях реквизитов и тексте назначения платежа. Простая настройка, широкие возможности анализа назначения платежа без написания кода и сложных шаблонов.

9760 руб.

17.06.2025    3542    9    0    

8

Банковские операции Обмен с интернет-банком Бухгалтер 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Беларусь Россия Бухгалтерский учет Платные (руб)

Типовая обработка "Клиент-банк" из конфигурации 1С "Бухгалтерия для Беларуси, редакция 2.1" корректно работает с выписками только банка "Дабрабыт", до 28.01.2019 "Москва-Минск". А бухгалтеру нужно работать и с другими банками и с другими конфигурациями. Для этого было разработано расширение, которое позволит решить данную проблему!

12200 руб.

10.10.2017    42515    97    49    

81

Банковские операции Обмен с интернет-банком Загрузка и выгрузка в Excel Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб)

Обработка создания файла по стандарту обмена с системами "Клиент банка" kl_to_1c.txt Формат файла обмена Российская Федерация, версия 1.03 При восстановлении учета в случае отсутствия в 1с банковских выписок (например, р/с в банке закрыт в связи с банкротством и доступ к выгрузке из клиент-банка невозможен), можно запросить у банка выписку за период в формате Excel. С помощью этой обработки создается файл формата 1CClientBankExchange, в 1с77 он назывался kl_to_1c.txt который загружается штатными средствами в 1с8. При этом будут созданы загружаемые контрагенты и их р/с.

5612 руб.

19.04.2019    49536    170    54    

104

Пакетная печать Банковские операции Кассовые операции Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Групповая печать фискальных чеков по документам "Поступление на расчетный счет" с возможностью настройки НДС, признаков расчета и автоматической отправкой чеков клиентам.

6499 руб.

21.08.2019    22780    87    11    

26

Обмен с интернет-банком Банковские операции Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Модуль представляет собой комплексную автоматизацию обмена данными 1С с банком для БП 3.0, ERP 2.4, ERP 2.5. Выписка клиент-банка загружается и обрабатывается по Вашим правилам. Заполнение реквизитов документов, анализ назначения платежа. Работа с клиент банком не отличается от типового варианта, а документы автоматически заполняются так, как нужно вам. Дополнительная обработка, работающая совместно с основным расширением позволяет подключать собственные произвольные алгоритмы.

20740 руб.

03.04.2013    132717    267    381    

171
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. star1k 20.01.20 14:26 Сейчас в теме
Добрый день! Подскажите пожалуйста, будет ли работать это расширение в ERP 2.4?
2. average 64 20.01.20 21:45 Сейчас в теме
Нужно проверять.
Есть нюанс
Сбербанк теперь хочет СМС раз в сутки.
Мы обошли эту проблему по другому.
Пришлось организовать передачу СМС с симкарты в 1С.
По факту оказалось, что технически загружать выписку не сложно.
3. AntoShiK86 37 19.03.21 13:37 Сейчас в теме
Здравствуйте будет ли работать в УТ11.4.12?
4. Evgeny2009 55 20.10.23 09:00 Сейчас в теме
Будет ли работать с флешкой сбера на версии 11.5.12?
5. average 64 23.10.23 12:34 Сейчас в теме
(4) Нет. Все поменялось в этом релизе.
Можно дописать под 11.5.14,
для версий ниже писать нет смысла.
Evgeny2009; +1 Ответить
6. user2153959 11.07.25 15:56 Сейчас в теме
Добрый день. Есть ли такая автоматическая загрузка выписок для 1С:Предприятие 8.3 (8.3.25.1374)?
Для отправки сообщения требуется регистрация/авторизация