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

10.00 

УТ, Молдова

Описание

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

Условия: Компания занимается продажей электронной техники, и ведет управленческий учет в 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)

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “MAIB: получение курса обмена валют”

Информация о продавце

  • Название магазина: Teut Vladislav
  • Продавец Teut Vladislav
  • Адрес: str Dante Aligheri
    9
    Chisihinau
    Глодяны
    MD-2032
  • Рейтинг отсутствует!