Исправление ошибки 413 Директ-банка о большом объеме передаваемых данных. БП3

В БП3 при загрузке выписки из Банка Точки по Директ-Банку стала появляться ошибка:

При отправке документа в банк произошла ошибка (413). [413] Сервер отказывается обработать, слишком большой объем передаваемых данных.
Подробности см. в журнале регистрации.

Терпел долго, загружал из файла. Но потом надоело, решил поискать решение.

Нашел:

Но немного адаптировал по-своему в модуле ОбменСБанкамиСлужебный:

&Вместо("ОтправитьPOSTЗапрос")
Функция ош413_ОтправитьPOSTЗапрос(АдресСервера, Ресурс, Заголовки, Данные, ПолучитьТелоКакСтроку, Таймаут, НастройкаОбмена)
	
	//Вставляем код, по мотивам: https://forum.ruboard.website/showthread.php/301181-%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%91%D0%B0%D0%BD%D0%BA
	//Для исправления ошибки:
	//	При отправке документа в банк произошла ошибка (413). [413] Сервер отказывается обработать, слишком большой объем передаваемых данных.
	//	Подробности см. в журнале регистрации.
	
	ИмяФайла = Неопределено;
	Если ТипЗнч(Данные) = Тип("ДвоичныеДанные")Тогда
		ИмяФайла = ПолучитьИмяВременногоФайла();
		ДвоичныеДанные = Данные;
		ДвоичныеДанные.Записать(ИмяФайла);
		ТекстовыйДокумент = Новый ТекстовыйДокумент;
		ТекстовыйДокумент.Прочитать(ИмяФайла);      
		ДанныеДляОтправки = ТекстовыйДокумент.ПолучитьТекст();
	Иначе
		ДанныеДляОтправки = Данные;
	КонецЕсли;

	Результат = ПродолжитьВызов(АдресСервера, Ресурс, Заголовки, ДанныеДляОтправки, ПолучитьТелоКакСтроку, Таймаут, НастройкаОбмена);
	
	Если ИмяФайла <> Неопределено Тогда
		УдалитьФайлы(ИмяФайла);           
	КонецЕсли;

	Возврат Результат;
КонецФункции

Версии:

24.10.1105: БП 3.0.155.23, 8.3.22.1750

Среда: БП 3.0.155.23 Платформа 8.3.22.1750 Объем 0.5 час

Купить у меня за 1200 руб.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

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