|
Загрузка Классификатора Банки в Альфа-Авто 5 | ☑ | ||
---|---|---|---|---|
0
avyub
14.06.17
✎
21:01
|
Возобновление архивного топика:
Загрузка Классификатора Банки в Альфа-Авто 5 Альфа-Авто5 Имеется кнопка Загрузить, при ее нажатии только 2 варианта: 1. с диска ИТС (диск2) 2. с сайта агентства РосБизнесКонсалтинг Диска нет, пробую с сайта. Выдает "Неудачная попытка соединения" Интернет есть, без прокси При запуске загрузки классификатора в папке временного каталога создаются большое количество файлов с расширением *.tmp и небольшое количество *.xml (*.tmp разного размера с содержимым, похожем на машинный код, а *.xml все пустые |
|||
1
avyub
14.06.17
✎
21:05
|
+(0)файл bnk.exe загрузил вручную. Это самораспоковывающийся архив. При распаковке получаются файлы: bnkdel.txt, bnkseek.txt, bnkseek_swift.txt и reg.txt
Может можно как-нибудь загрузить из этих файлов? |
|||
2
avyub
14.06.17
✎
21:07
|
Привожу полностью оригинальные процедуру и фунцию:
Процедура ЗагрузитьКлассификаторСРБК(ВремКаталог) ФайлБИК = Новый Файл(ВремКаталог+"\"+мИмяФайлаБИК); ФайлРег = Новый Файл(ВремКаталог+"\"+мИмяФайлаРег); ФормаИндикатора = ПолучитьОбщуюФорму("Индикация", ЭтаФорма); ФормаИндикатора.Заголовок = "Загрузка классификатора"; ФормаИндикатора.СтрокаСостояния = "Загрузка классификатора"; ФормаИндикатора.Открыть(); Разделитель = Символы.Таб; СпРегионов = Новый СписокЗначений; мТекстКлассификатора = Новый ТекстовыйДокумент(); мТекстКлассификатора.Прочитать(ВремКаталог + "\" + мИмяФайлаРег); КолСтрок = мТекстКлассификатора.КоличествоСтрок(); Обновить(); Для к = 1 По КолСтрок Цикл Стр = мТекстКлассификатора.ПолучитьСтроку(к); Если (Лев(Стр,2) = "//") или (ПустаяСтрока(Стр)) Тогда Продолжить; КонецЕсли; НомПоля = 1; Пока (ПустаяСтрока(Стр) = 0) Цикл // пока не обработали всю шапку Поз = Найти(Стр,Разделитель); Если Поз = 0 Тогда // не нашли НазваниеОдногоПоля = Стр; Стр = ""; Иначе // вырезаем очередное поля НазваниеОдногоПоля = Лев(Стр,Поз-1); Стр = Прав(Стр,СтрДлина(Стр)-Поз); КонецЕсли; НазваниеОдногоПоля = СокрЛП(НазваниеОдногоПоля); // добавляем входное поле в таблицу Если НомПоля = 1 Тогда Симвл1 = СокрЛП(НазваниеОдногоПоля); ИначеЕсли НомПоля = 2 Тогда Симвл2 = СокрЛП(НазваниеОдногоПоля); КонецЕсли; Состояние("Обработка региона: " + Симвл1); НомПоля = НомПоля + 1; Если НомПоля > 2 Тогда Прервать; // Завершить просмотр строки, т.к. обработаны все необходимые поля, но есть еще что-то. КонецЕсли; КонецЦикла; СпРегионов.Добавить(Симвл1,Симвл2); КонецЦикла; Состояние("Выполняется загрузка классификатора"); мТекстКлассификатора.Прочитать(ВремКаталог + "\" + мИмяФайлаБИК); КолСтрок = мТекстКлассификатора.КоличествоСтрок(); Обновить(); Для к = 1 По КолСтрок Цикл Стр = мТекстКлассификатора.ПолучитьСтроку(к); Стр = СокрЛП(Стр); Если ПустаяСтрока(Стр) Тогда Продолжить; КонецЕсли; НомПоля = 1; Пока (ПустаяСтрока(Стр) = 0) Цикл // пока не обработали всю шапку Поз = Найти(Стр,Разделитель); Если Поз = 0 Тогда // не нашли НазваниеОдногоПоля = Стр; Стр = ""; Иначе // вырезаем очередное поля НазваниеОдногоПоля = Лев(Стр,Поз-1); Стр = Прав(Стр,СтрДлина(Стр)-Поз); КонецЕсли; НазваниеОдногоПоля = СокрЛП(НазваниеОдногоПоля); // добавляем входное поле в таблицу Если НомПоля = 1 Тогда ЗнТипБанка = ОпределитьТипБанка(СокрЛП(НазваниеОдногоПоля)); ИначеЕсли НомПоля = 2 Тогда ЗнПункт = СокрЛП(НазваниеОдногоПоля); ИначеЕсли НомПоля = 3 Тогда ЗнТипПункта = ОпределитьТипГорода(СокрЛП(НазваниеОдногоПоля)); ИначеЕсли НомПоля = 4 Тогда ЗнНаименование = СокрЛП(НазваниеОдногоПоля); ИначеЕсли НомПоля = 5 Тогда ЗнПризнакКода = СокрЛП(НазваниеОдногоПоля); ИначеЕсли НомПоля = 6 Тогда ЗнБИК = СокрЛП(НазваниеОдногоПоля); ИначеЕсли НомПоля = 7 Тогда ЗнКорСчет = СокрЛП(НазваниеОдногоПоля); КонецЕсли; НомПоля = НомПоля + 1; Если НомПоля > 7 Тогда Прервать; // Завершить просмотр строки, т.к. обработаны все необходимые поля, но есть еще что-то. КонецЕсли; КонецЦикла; ФормаИндикатора.Индикатор= к/КолСтрок * 100; КодРег = Сред(ЗнБИК,3,2); НайденныйРегион = СпРегионов.НайтиПоЗначению(КодРег); Если НайденныйРегион = Неопределено Тогда Продолжить; КонецЕсли; РегТабл = ДеревоБанков.Строки.Найти(КодРег,"КодРегиона",Ложь); Если РегТабл = Неопределено Тогда НоваяСтрокаРегиона = ДеревоБанков.Строки.Добавить(); НоваяСтрокаРегиона.КодРегиона = НайденныйРегион.Значение; НоваяСтрокаРегиона.Наименование = НайденныйРегион.Представление; НоваяСтрокаРегиона.Загрузка = Ложь; Иначе НоваяСтрокаРегиона = РегТабл; КонецЕсли; НоваяСтрокаБанка = НоваяСтрокаРегиона.Строки.Добавить(); НоваяСтрокаБанка.Наименование = ЗнНаименование; НоваяСтрокаБанка.КодРегиона = ЗнБИК; НоваяСтрокаБанка.ТипБанка = ЗнТипБанка; НоваяСтрокаБанка.КоррСчет = ЗнКорСчет; НоваяСтрокаБанка.Индекс = ""; НоваяСтрокаБанка.Город = ЗнТипПункта+" "+ЗнПункт; НоваяСтрокаБанка.Адрес = ""; НоваяСтрокаБанка.Телефон = ""; НоваяСтрокаБанка.Загрузка = Ложь; КонецЦикла; ФормаИндикатора.Закрыть(); КонецПроцедуры // ЗагрузитьКлассификаторСРБК() Функция ПолучитьФайлРБК() СерверИсточник = "cbrates.rbc.ru/"; НТТР = СоздатьСоединение(СерверИсточник); Адрес = "bnk/bnk.exe"; ВремКаталог = Лев(КаталогВременныхФайлов(), 2) + "\_tempBik"; СоздатьКаталог(ВремКаталог); Попытка УдалитьФайлы(ВремКаталог,"RbkZip.bat"); Исключение КонецПопытки; Попытка УдалитьФайлы(ВремКаталог,мИмяФайлаЗип); Исключение КонецПопытки; Попытка УдалитьФайлы(ВремКаталог,мИмяФайлаБИК); Исключение КонецПопытки; Попытка УдалитьФайлы(ВремКаталог,мИмяФайлаРег); Исключение КонецПопытки; Попытка НТТР.Получить(Адрес, ВремКаталог + "\" + мИмяФайлаЗип); Исключение Сообщить("Неудачная попытка соединения."); Возврат Ложь; КонецПопытки; Состояние("Выполняется обработка загрузки"); ИмяБатФайла = "" + ВремКаталог + "\RbkZip.bat"; БатФайл = Новый ТекстовыйДокумент(); БатФайл.Очистить(); //БатФайл.ДобавитьСтроку(Лев(ВремКаталог,2)); //БатФайл.ДобавитьСтроку("cd \" + Сред(ВремКаталог, 4)); БатФайл.ДобавитьСтроку("""" + ВремКаталог + "\" + мИмяФайлаЗип + """"); БатФайл.Записать(ИмяБатФайла,КодировкаТекста.OEM); КомандаСистемы(""""+ ИмяБатФайла + """",ВремКаталог); ФайлБИК = Новый Файл(ВремКаталог + "\" + мИмяФайлаБИК); ФайлРЕГ = Новый Файл(ВремКаталог + "\" + мИмяФайлаРег); НачальнаяДата = ТекущаяДата(); Пока (НЕ (ФайлБИК.Существует() И ФайлРЕГ.Существует())) И ((ТекущаяДата() - НачальнаяДата) < 10) Цикл КонецЦикла; Если (ФайлБИК.Существует() И ФайлРЕГ.Существует()) Тогда ЗагрузитьКлассификаторСРБК(ВремКаталог); Иначе Возврат Ложь; КонецЕсли; Попытка УдалитьФайлы(ВремКаталог,"RbkZip.bat"); Исключение КонецПопытки; Попытка УдалитьФайлы(ВремКаталог,мИмяФайлаЗип); Исключение КонецПопытки; Попытка УдалитьФайлы(ВремКаталог,мИмяФайлаБИК); Исключение КонецПопытки; Попытка УдалитьФайлы(ВремКаталог,мИмяФайлаРег); Исключение КонецПопытки; Попытка Если НайтиФайлы(ВремКаталог, "*.*").Количество() = 0 Тогда Попытка УдалитьФайлы(ВремКаталог); Исключение; КонецПопытки; КонецЕсли; Исключение КонецПопытки; Возврат Истина; КонецФункции // ПолучитьФайлРБК() |
|||
3
Winnie Buh
15.06.17
✎
08:30
|
альфы сейчас нет под рукой посмотреть, но во многих типовых сейчас чтобы загрузить классификатор банков нужно настроить или интернет-поддержку или выставить новую константу "Использовать альтернативный сервер для загрузки классификатора банков"
http://www.online-ufa.ru/content/articles/zagruzka-klassifikatora-bankov-1c/ может в альфе теперь также |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |