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) 

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2856    3    0    

11

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

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    34924    68    45    

27

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

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

19200 руб.

21.03.2023    13498    91    21    

77

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

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

12000 руб.

20.12.2024    6565    11    14    

14

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

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    2610    2    3    

5

SALE! 20%

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

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

20400 16320 руб.

03.04.2013    126106    258    377    

167

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

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    987    5    2    

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