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

02.04.24

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

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

Файлы

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

Наименование Скачано Купить файл
Внешняя обработка которая запускает скомпелированный код Python вложенный как макет обработки
.epf 17,72Mb
0 2 500 руб. Купить
Код на Python
.py 4,15Kb
0 4 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • Поиск от одного разработчика до ИТ-команд под проект.
  • Обмен любыми контактами разрешён.
  • 0% комиссии, допускаются расчёты напрямую.

Условия: Компания занимается продажей электронной техники, и ведет управленческий учет в 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С:Предприятие 8 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

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

19520 руб.

21.03.2023    22565    155    34    

120

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

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

15250 руб.

20.12.2024    15022    65    27    

62

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

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

42700 руб.

03.08.2020    24051    37    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22772    68    52    

43

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

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

60000 руб.

07.05.2019    42692    76    45    

31

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

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

17568 руб.

20.12.2024    6009    25    4    

27
Для отправки сообщения требуется регистрация/авторизация