MAIB: получение курса обмена валют

02.04.24

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

Автозагрузка курса валют из личного кабинета банка MAIB (Молдова).

Скачать файл

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

Наименование По подписке [?] Купить один файл
Внешняя обработка которая запускает скомпелированный код Python вложенный как макет обработки
.epf 17,72Mb
0
0 Скачать (1 SM) Купить за 1 850 руб.
Код на Python
.py 4,15Kb
0
0 Скачать (5 SM) Купить за 3 050 руб.

Условия: Компания занимается продажей электронной техники, и ведет управленческий учет в USD.

Также всё расчеты с поставщиками проходят в USD, компания сотрудничает только с одним банком MAIB.

Задача: загружать курс продажи валюты из личного кабинета и загружать в качестве курса в 1С вместо курса ЦБ Молдовы.

Решение:

  1. Пишем программу на Python с использованием библиотеки Selenium, которая получает входные данные логин и пароль, производит вход в личный кабинет по адресу https://business.maib.md/IBMAIB/, находит курс обмена валют через парсинг HTML.
  2. Для получения данных подключаем библиотеку SYS
  3. Полученную программу компилируем в EXE файл
  4. В 1С пишем обработку, которая будет выполняться по расписанию. Скомпилированный EXE добавляем в макеты обрабокти.
  5. Т.к. у меня IQ 10, логин и пароль храним в коде
  6. Получаем повестку в суд от банка за нарушение правил пользования личным кабинетом.

Код в 1С
 

&НаСервере
Процедура ЗагрузитьКурс() Экспорт
	Логин = "Login"; 
	Пароль = "Password";
	ВременныйКаталог = КаталогВременныхФайлов();
	ПутьКИсполяемому = ВременныйКаталог + "TakeExchangeRate.exe" ;
	ПутьКXML =   ВременныйКаталог + "ExchangeRates.xml";
	Если не  ПроверитьСуществованиеФайла(ПутьКИсполяемому) Тогда
		Попытка
			Индификатор = ПолучитьДанныеМакета(ПутьКИсполяемому);
			МакетДоговора = ПолучитьИзВременногоХранилища(Индификатор);
			МакетДоговора.Записать(ПутьКИсполяемому);
		Исключение
			Сообщить(ОписаниеОшибки());
		КонецПопытки;
	КонецЕсли;
	Попытка 
		ФайлСкрипта = ВременныйКаталог + "TakeExchangeRate.bat";
		ТекстовыйДокумент = Новый ТекстовыйДокумент;
		ТекстовыйДокумент.УстановитьТекст(ПутьКИсполяемому + " "+ Логин + " "+ Пароль );
		ТекстовыйДокумент.Записать(ФайлСкрипта, "cp866");
		КодВозврата = Неопределено;
		ЗапуститьПриложение(ФайлСкрипта,ВременныйКаталог, Истина, КодВозврата);
		
	Исключение 
		Сообщить("Ошибка при запуске команды: " + ПутьКИсполяемому); 
		Возврат ;
	КонецПопытки;  
	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.ОткрытьФайл(ПутьКXML);
	
	ИнформацияКомпоненты = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML); 
	
	Если НЕ ИнформацияКомпоненты.Свойства().Получить("USD") = Неопределено тогда
		Курс =  Число(СокрЛП(СтрРазделить(ИнформацияКомпоненты.USD.VanzareUSD, Символы.ПС)[0]));
	КонецЕсли; 
	МенеджерЗаписи = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
	
	МенеджерЗаписи.Валюта = Справочники.Валюты.НайтиПоНаименованию("USD");
	МенеджерЗаписи.Курс = Курс;
	МенеджерЗаписи.Кратность = 1;
	МенеджерЗаписи.Период = ТекущаяДата();
	МенеджерЗаписи.Записать();	
	ЧтениеXML.Закрыть();
КонецПроцедуры         

&НаСервере
Функция ПроверитьСуществованиеФайла(ЛокПолноеИмяФайла) Экспорт
	ВыбФайл = Новый Файл(ЛокПолноеИмяФайла);		
	Возврат ВыбФайл.Существует();
КонецФункции 

&НаСервере
Функция ПолучитьДанныеМакета(ПутьКИсполяемому)
	АдресХранилища = Новый УникальныйИдентификатор();
	Макет          = ПолучитьМакет("PythonКод"); 
	
	ВременныйФайл = ПолучитьИмяВременногоФайла(ПутьКИсполяемому); 
	Макет.Записать(ВременныйФайл);
	
	Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ВременныйФайл), АдресХранилища); 
	УдалитьФайлы(ВременныйФайл); 
	
	Возврат Адрес; 
КонецФункции 

Протестировано на конфигурации

  • Управление торговлей для Молдовы, редакция 2.5
  • Локализация для Молдовы: 1C-Account-Timbal SRL (2.5.2.0) 

См. также

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

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

15000 руб.

21.03.2023    11570    77    16    

65

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

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

20400 руб.

03.04.2013    125184    253    377    

164

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

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

10.10.2017    38123    82    Xershi    41    

69

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17985    18    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20124    13    19    

18
Оставьте свое сообщение