Сейчас ваша корзина пуста!
Описание
Автозагрузка курса валют из личного кабинета банка MAIB (Молдова).
Условия: Компания занимается продажей электронной техники, и ведет управленческий учет в USD.
Также всё расчеты с поставщиками проходят в USD, компания сотрудничает только с одним банком MAIB.
Задача: загружать курс продажи валюты из личного кабинета и загружать в качестве курса в 1С вместо курса ЦБ Молдовы.
Решение:
- Пишем программу на Python с использованием библиотеки Selenium, которая получает входные данные логин и пароль, производит вход в личный кабинет по адресу https://business.maib.md/IBMAIB/, находит курс обмена валют через парсинг HTML.
- Для получения данных подключаем библиотеку SYS
- Полученную программу компилируем в EXE файл
- В 1С пишем обработку, которая будет выполняться по расписанию. Скомпилированный EXE добавляем в макеты обрабокти.
- Т.к. у меня IQ 10, логин и пароль храним в коде
- Получаем повестку в суд от банка за нарушение правил пользования личным кабинетом.
Пример Кода в 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)
Для отправки отзыва вам необходимо авторизоваться.
Информация о продавце
- Название магазина: Teut Vladislav
- Продавец Teut Vladislav
-
Адрес:
str Dante Aligheri
9
Chisihinau
Глодяны
MD-2032 - Рейтинг отсутствует!
-
Форма М-15 для БП 3.0 из документа Возврат поставщику
3.00 € В корзину -
Счет-фактура 1137 с 01.07.2017. Для УТ 10.3.х в редакции от 25.05.2017 № 625 ПП РФ
5.00 € В корзину -
Контактная информация клиента в форме заказа
5.00 € В корзину -
Трудовой договор для (БП 3.0). Обычный и Дистанционный
5.00 € В корзину -
Заказ клиента с весом и объемом
5.00 € В корзину -
Сертификаты (реестр) и ГТД
3.00 € В корзину
Отзывы
Отзывов пока нет.