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

25.11.21

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обновление/Загрузка классификаторов банка из zip-архива для "ДавноНеОбновлявшихся1с":
.epf 16,22Kb
7
7 Скачать (1 SM) Купить за 1 850 руб.

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

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

15000 руб.

21.03.2023    10287    62    14    

55

Банковские операции Обмен с интернет-банком Загрузка и выгрузка в 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    43309    142    52    

76

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

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

10.10.2017    37538    77    Xershi    41    

65

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

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

20400 руб.

03.04.2013    124437    249    377    

162

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

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

4800 руб.

19.06.2013    39255    138    102    

31

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

Система быстрых платежей - мгновенный способ оплаты чека по QR-коду комиссия от 0,4 % до 0,7%. Обработка обслуживания Система быстрых платежей оплата по QR коду позволяет  подключить 1С:Управление торговлей редакция 10 к Системе быстрых платежей для приема оплаты. Может быть использована в 1С: Управление производственным предприятием 1.3 и 1С: Комплексная автоматизация 1.1 и 1С:Розница 1.х..

10400 руб.

16.02.2022    31413    41    148    

50

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

Эффективное решение для загрузки банковской выписки из Клиент-Банка в 1С: Управление Торговлей ред. 10.3 Требования к файлу экспорта из клиент-банка: поддержка формата 1С:Предприятие для обмена с клиент-банками. Быстрая разноска выписки по видам операции, видам документов, статьям движения денежных средств, контрагентам, подразделениям. Легкая настройка правил разноски выписки. Работа с видами документов: Платежное поручение и Платежный ордер. Набор часто встречающихся правил разноски выписки при начале работы с обработкой: автозаполнение. Создание новых контрагентов (ИНН, КПП, полное наименование, банковский счет, договор) Проверка уникальности справочника "Контрагенты" по ИНН, номеру расчетного счета. Ранее созданные платежные поручения учитываются. Проведение документов банковской выписки.

4800 руб.

18.05.2015    71799    41    29    

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