Обновление / загрузка классификаторов банка из zip-архива для давно не обновлявшихся баз 1С

25.11.21

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

И старые версии 1С:Бухгалтерия - имеют право на новые классификаторы банков!!!))

Скачать исходный код

Наименование Файл Версия Размер
Обновление/Загрузка классификаторов банка из zip-архива для "ДавноНеОбновлявшихся1с":
.epf 16,22Kb
6
.epf 16,22Kb 6 Скачать

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

А с начала этого (2021г) - бюджетники (налоговая и иже с ними) перешли на новые счета в своих банках (у них поменялся корр.счет и сам расчетный счет)...

Так вот, если у Вас типовая 1С:Бухгалтерия застыла в старых версиях и пока НИКАК не может обновиться, например, по причине  сильной переписки типовой конфигурации, то стандартными обработками, вшитыми в конфигурацию, - невозможно обновить Классификатор банков, а следовательно в бухгалтерии - не смогут создать новые расчетные банковские счета для контрагентов, таким образом бухгалтерам придется вручную в клиент банке рисовать платежки...

Здесь на Инфостарте есть парочка готовых обработок, которые могут загружать Классификаторы Банков не только с сайта 1С, но с РБК и др. Я выбрала вот эту: //infostart.ru/public/1208625/

Но оказалось, что данная обработка не может помочь мне загрузить из интернета ни с сайта 1с ни с сайта РБК....может потому что у меня серверный вариант базы, но пробовала и на файловой - нет, нужно дописать код корректной загрузки с сайта, если кто шарит, то дорисуйте - будет здорово.

Меня вполне устраивала загрузка не с сайта, а напрямую из zip-архива на компьютере (просто я заранее залила на комп архивы из 1с и с РБК - см. скрин как из 1С слить архив банка:

 

 

). Но здесь появилась следующая проблема: скаченная обработка обращается к готовой ТИПОВОЙ обработке "ЗагрузкаКлассификатораБанков"......а у меня конфигурация старая и переписанная - у меня изначально в конфигурации эта обработка старая и, конечно, она не будет работать!....какой тогда смысл?

Нашла выход: установила свежую версию демо 1С:Бухгалтерия - и по кусочкам затягивала в исходную скачанную обработку - программный код из типовой обработки "ЗагрузкаКлассификатораБанков" свежей версии 1сБух. Все четко! Получилось загрузить из архива Классификатор Банков!!!! Ураааа!!!

Но, внутри моей версии 1С: 1) старый распознаватель расшифровки банковских счетов; 2) в справочнике Классификатор Банков - не хватает нового реквизита БИКРКЦ.....................ну и ладно, так как конфигурация у нас все равно уже переписанная, то чуток нашего кода ей уже не повредит))

Итак, начнем: в нашей конфигурации открываем справочник "КлассификаторБанков" и добавляем новый реквизит БИКРКЦ, тип которого ссылка на этот же справочник (см. скрин)

 

 

Далее, открываем в конфигураторе справочник"БанковскиеСчета", открываем форму Элемента, далее модуль формы, находим Процедуру ПередЗаписью(), там идет обращение к другой процедуре БанковскиеСчетаФормыКлиент.ПередЗаписью(Объект.НомерСчета, БИКБанка, Объект.Ссылка, Отказ), правая клавиша мышки на эту процедуру и "Перейти к определению", нас переносит в Общий модуль на следующую процедуру ПередЗаписью(НомерСчета, БИКБанка, СсылкаНаОбъект, Отказ) Экспорт, внутри этой процедуры - есть обращение к функции БанковскиеПравила.ЭтоКорректныйСчетБанкаРФ(НомерСчета, БИКБанка), вновь кликаем по ней правой кнопкой мышки-"Перейти к определению"-летим внутрь этой функции, а внутри нее - еще одно обращение к другой функции ЭтоКорректныйСчетБанкаРФ(НомерСчета, КодБанка) Экспорт, летим вновь внутрь этой и видим ссылку еще на одну функцию ПроверитьКонтрольныйКлючВНомереБанковскогоСчета(НомерСчета, КодБанка), прыгаем в нее, и вуа ля! то, что мы искали!!! 

Теперь все, что находится внутри функции ПроверитьКонтрольныйКлючВНомереБанковскогоСчета(НомерСчета, КодБанка) - затираем (ставим // вначале каждой строки), и копируйте вот отсюда код и вставляйте его внутрь функции:

	// Письмо ЦБР от 8 сентября 1997 г. N 515
	
	Если СтрокаСоответствуетФормату = Неопределено Тогда
		СтрокаСоответствуетФормату = СтрокаСоответствуетФорматуБанковскогоСчета(НомерСчета);
	КонецЕсли;
	
	Если Не СтрокаСоответствуетФормату Тогда
		Возврат Ложь;
	КонецЕсли;
	
	Если Не ПроверитьДлинуБИК(БИК) Тогда
		Возврат Ложь;
	КонецЕсли;
	
	Если Не ПроверитьДлинуНомераСчета(НомерСчета) Тогда
		Возврат Ложь;
	КонецЕсли;
	
	Если ЭтоБИКТОФК(БИК) И ЭтоКазначейскийСчет(НомерСчета) Тогда
		// Ключевание не предусмотрено.
		Возврат Истина;
	КонецЕсли;
	
	// 2. Для расчета контрольного ключа используется совокупность двух реквизитов - 
	// условного номера РКЦ (если лицевой счет открыт в РКЦ)
	// или кредитной организации (если лицевой счет открыт в кредитной организации)
	// и номера лицевого счета.
	
	// 3. Значение трехзначного условного номера РКЦ соответствует разрядам 5 и 6 
	// банковского идентификационного кода (БИК), дополненным слева нулем до трех разрядов.
	// 4. Значение условного номера кредитной организации соответствует разрядам 7, 8 и 9 БИК.
	
	Если ЭтоОтделениеЦентральногоБанка(БИК) Тогда
		УсловныйНомер = "0" + Сред(БИК, 5, 2);
	Иначе
		УсловныйНомер = Сред(БИК, 7, 3);
	КонецЕсли;
	
	Если Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(УсловныйНомер) Тогда
		Возврат Ложь;
	КонецЕсли;
	
	//        Контрольный ключ (К)
	//        ^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^88;   Порядковые номера разрядов ^72;^72;^72;^72;^72;^72;^88;
	//   ^84;^72;_16;^72;_16;^72;^88; ^84;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;_24;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;^88;  ^74;
	//   ^74;1^74;2^74;3^74; ^74;1^74;2^74;3^74;4^74;5^74;6^74;7^74;8^74;9^74;10^74;11^74;12^74;13^74;14^74;15^74;16^74;17^74;18^74;19^74;20^74;<^72;^96;
	//   ^92;^72;_24;^72;_24;^72;^96; ^92;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;^96;
	//   ^74;     ^74; ^74;        Номер лицевого счета                      ^74;
	//   ^74;     ^74; ^92;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^96;
	//   ^74;     ^92;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;
	//   ^74;  Условный номер РКЦ или кредитной организации
	//   ^92;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;
	
	ВсеСимволы = УсловныйНомер + НомерСчета;
	ТипЧисло   = Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(1, 0, ДопустимыйЗнак.Неотрицательный));
	ПроверяемыйНаборЦифр = Новый Массив(23);
	Для НомерСимвола = 1 По 23 Цикл
		Цифра = ТипЧисло.ПривестиЗначение(Сред(ВсеСимволы, НомерСимвола, 1));
		ПроверяемыйНаборЦифр[НомерСимвола-1] = Цифра;
	КонецЦикла;
	
	// 8. При наличии алфавитного значения в 6-ом разряде лицевого счета 
	// (в случае использования клиринговой валюты) данный символ заменяется на соответствующую цифру:

	// ^84;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;_16;^72;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;^88;
	// ^74;Допустимое алфавитное значение 6-го разряда^74; А^74;В^74;С^74;Е^74;Н^74;К^74;М^74;Р^74;Т^74;Х^74;
	// ^74;номера лицевого счета                      ^74;  ^74; ^74; ^74; ^74; ^74; ^74; ^74; ^74; ^74; ^74;
	// _00;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;_32;^72;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_08;
	// ^74;Соответствующая цифра                      ^74; 0^74;1^74;2^74;3^74;4^74;5^74;6^74;7^74;8^74;9^74;
	// ^92;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;^72;_24;^72;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;^96;

	// После выполнения замены расчет и проверка значения контрольного ключа производится в соответствии с п. 6 и п. 7.
	
	АлфавитныйСимвол = Сред(НомерСчета, 6, 1);
	Если Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(АлфавитныйСимвол) Тогда
		ЦифраШестогоРазряда = СтрНайти(ДопустимыеАлфавитныеСимволыНомераБанковскогоСчета(), АлфавитныйСимвол);
		Если ЦифраШестогоРазряда = Неопределено Тогда
			Возврат Ложь;
		КонецЕсли;
		ЦифраШестогоРазряда = ЦифраШестогоРазряда - 1;
		ПроверяемыйНаборЦифр[3+6] = ЦифраШестогоРазряда;
	КонецЕсли;
		
	// 5. Контрольный ключ рассчитывается с использованием весовых коэффициентов,
	// устанавливаемых каждому разряду.

	//                                 Порядковые номера разрядов ^72;^72;^72;^72;^72;^72;^88;
	//    ^84;^72;_16;^72;_16;^72;^88; ^84;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;_16;^72;^72;^88;  ^74;
	//    ^74;1^74;2^74;3^74; ^74;1^74;2^74;3^74;4^74;5^74;6^74;7^74;8^74;9^74;10^74;11^74;12^74;13^74;14^74;15^74;16^74;17^74;18^74;19^74;20^74;<^72;^96;
	//    _00;^72;_32;^72;_32;^72;_08; _00;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_32;^72;^72;_08;
	// ^84;^72;>^74;7^74;1^74;3^74; ^74;7^74;1^74;3^74;7^74;1^74;3^74;7^74;1^74;3^74; 7^74; 1^74; 3^74; 7^74; 1^74; 3^74; 7^74; 1^74; 3^74; 7^74; 1^74;
	// ^74;  ^92;^72;_24;^72;_24;^72;^96; ^92;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;_24;^72;^72;^96;
	// ^74;
	// ^92;^72;^72; Весовые коэффициенты
	
	ВесовыеКоэффициенты = Новый Массив;
	ВесовыеКоэффициенты.Добавить(7);
	ВесовыеКоэффициенты.Добавить(1);
	ВесовыеКоэффициенты.Добавить(3);
	
	// 7. Алгоритм проверки правильности расчета контрольного ключа:
	// 7.1. Рассчитываются произведения значений разрядов на соответствующие весовые коэффициенты 
	// с учетом контрольного ключа.
	// 7.2. Рассчитывается сумма младших разрядов полученных произведений.
	
	Сумма = 0;
	Для Разряд = 0 По 22 Цикл
		ИндексВесовогоКоэффициента = Разряд % 3;//3%3=0, 4%3=1, 5%3=2
		ВесовойКоэффициент = ВесовыеКоэффициенты[ИндексВесовогоКоэффициента];
		Произведение  = ПроверяемыйНаборЦифр[Разряд] * ВесовойКоэффициент;
		МладшийРазряд = Произведение % 10;
		Сумма = Сумма + МладшийРазряд;
	КонецЦикла;
	
	// При получении суммы, кратной 10 (младший разряд равен 0), 
	// значение контрольного ключа считается верным.

	Возврат Сумма % 10 = 0;
	
//******************************************

новый код обращается еще к двум функциям, которых в старой конфигурации нету, поэтому прямо сразу после нашей измененной функции  ПроверитьКонтрольныйКлючВНомереБанковскогоСчета(НомерСчета, КодБанка), копируем и вставляем вот эти пару функций:

Функция ЭтоБИКТОФК(КодБанка) Экспорт  
	
	ПервыеЦифрыБИК = Лев(КодБанка, 2);
	
	Результат = ПроверитьДлинуБИК(КодБанка)
		И (ПервыеЦифрыБИК = "00" Или ПервыеЦифрыБИК = "01" Или ПервыеЦифрыБИК = "02");
	
	Возврат Результат;
	
КонецФункции

Функция ЭтоКазначейскийСчет(НомерСчета) Экспорт
	
	Возврат СтрНачинаетсяС(НомерСчета, "0");
	
КонецФункции

Все, жмите F7 и запускайте пользовательский режим. Откройте мою внешнюю обработку "Загрузка классификаторов банка" - выбирайте ТОЛЬКО из файла (предварительно скачайте эти файлы: хоть с РБК, хоть с 1С), укажите путь - где находится ваш zip-архив, жмите кнопку "Загрузить" - все загрузится.

 

 

Далее в клиента вбиваете новый вид банковского счета - и замечательно проходит проверка и записывается банковский счет!

 

 

п.с. специально не стала убирать переключатель на загрузку с сайта - возможно, что кто-нибудь набросает рабочий код на загрузку с сайта, и будет вообще красота!)

***

п.с. тестировалась данная обработка на ЗУП редакции 3.0.70.50 - работает! на редакции 3.0.88.22 - летает!) а с последнего релиза на сегодня 3.0.105.31 - были взяты архивы Классификаторов Банка на сайте ИТС.

Бухгалтерия программный код загрузка Классификатора банка для старых версий начинающего программиста помощь бухгалтеру

См. также

Автоматическая обработка документов по банку при загрузке банковской выписки в 1С

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

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

12000 руб.

21.03.2023    8442    43    12    

45

Обмен с клиентом банка для БП 3.0, ERP 2.4, ERP 2.5 с дополнительными правилами загрузки

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

Выписка клиент-банка загружается и обрабатывается по Вашим правилам. Заполнение реквизитов документов, анализ назначения платежа. Работа с клиент банком не отличается от типового варианта, а документы автоматически заполняются так, как нужно вам. Дополнительная обработка, работающая совместно с основным расширением позволяет подключать собственные произвольные алгоритмы.

20400 руб.

03.04.2013    122517    244    377    

160

Обмен с клиентом банка для Беларуси

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

Типовая обработка "Клиент-банк" из конфигурации 1С "Бухгалтерия для Беларуси, редакция 2.1" корректно работает с выписками только банка "Дабрабыт", до 28.01.2019 "Москва-Минск". А бухгалтеру нужно работать и с другими банками и с другими конфигурациями. Для этого было разработано расширение, которое позволит решить данную проблему!

10.10.2017    36510    70    Xershi    41    

58

Загрузка банковской выписки из Excel и формирование файла формата 1CClientBankExchange (kl_to_1c)

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

Обработка создания файла по стандарту обмена с системами "Клиент банка" kl_to_1c.txt Формат файла обмена Российская Федерация, версия 1.03 При восстановлении учета в случае отсутствия в 1с банковских выписок (например, р/с в банке закрыт в связи с банкротством и доступ к выгрузке из клиент-банка невозможен), можно запросить у банка выписку за период в формате Excel. С помощью этой обработки создается файл формата 1CClientBankExchange, в 1с77 он назывался kl_to_1c.txt который загружается штатными средствами в 1с8. При этом будут созданы загружаемые контрагенты и их р/с.

3840 руб.

19.04.2019    41847    129    52    

63

Обмен 1С с СУФД (УФК)

Банковские операции Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Выгрузка платежных поручений из коммерческих программ 1С в Казначейство (СУФД). Загрузка выписок из Казаначейства (СУФД) в 1С.

15000 руб.

07.11.2017    97186    301    82    

323

Загрузка в БГУ из УРМ "Криста"

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

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Есть Демо доступ на вкладке Бесплатные файлы на 1 месяц со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    38439    135    90    

29

Обработка обслуживания терминалов пин-пад Ingenico IPP320/350 для УТ 10.х

POS терминал Банковские операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Платные (руб)

Обработка обслуживания эквайринговых терминалов пин-пад Ingenico и АТОЛ PT-5 ( ПО Arcus2) позволяет подключить банковские терминалы Ingenico и АТОЛ PT-5 к 1С:Управление торговлей редакция 10. Может быть использована в 1С: Управление производственным предприятием 1.3 и 1С: Комплексная автоматизация 1.1 и 1С:Розница 1.х

4200 руб.

14.05.2019    59765    135    178    

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