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

24.11.22

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Автоматическая загрузка выписок Сбербанк-бизнес онлайн с помощью 1С:ДиректБанк для УТ 11:
.cfe 24,38Kb ver:11.4.8.92
2
2 Скачать (5 SM) Купить за 3 050 руб.

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

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

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

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

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

 

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

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

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

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

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


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


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

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

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

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

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

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

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

См. также

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

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

15000 руб.

21.03.2023    11311    74    16    

63

SALE! 20%

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

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

20400 16320 руб.

03.04.2013    124993    253    377    

164

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

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

10.10.2017    37988    81    Xershi    41    

68

Банковские операции Обмен с интернет-банком Загрузка и выгрузка в Excel Программист Бухгалтер Платформа 1С v8.3 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. При этом будут созданы загружаемые контрагенты и их р/с.

3840 руб.

19.04.2019    44153    149    53    

83

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

Обработка для групповой печати чеков ККМ с настройкой, загруженных из банковской выписки. На основании документа Поступление на расчетный счет!

4800 руб.

21.08.2019    20280    75    10    

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