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

25.11.21

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

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

Скачать файл

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

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

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

19200 руб.

21.03.2023    15082    106    21    

87

SALE! 50%

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

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

15000 руб.

20.12.2024    8501    26    21    

27

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

Обработка для выгрузки платежных поручений из конфигураций 1С:БП 3.0 и ERP/КА в банк Департамента финансов г. Москвы. Поддерживается выгрузка в текстовом и XML-форматах.

19200 руб.

15.06.2020    23572    77    42    

52

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

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

20400 руб.

03.04.2013    127275    259    378    

167

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

Прием оплат от клиентов через PayKeeper в 1С Бухгалтерии 3.0 (возможна доработка под другие конфигурации). Расширение позволяет сформировать ссылку на оплату через PayKeeper, без модификации типового функционала.

12000 руб.

25.10.2024    985    1    1    

2

Банковские операции Обмен с интернет-банком Загрузка и выгрузка в 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. При этом будут созданы загружаемые контрагенты и их р/с.

4320 руб.

19.04.2019    46088    156    54    

92

Загрузка и выгрузка в Excel Банковские операции Кассовые операции Бюджетный учет Бухгалтер Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет загружать из стандартной выписки лицевого счета в формате MS EXCEL в 1С Бухгалтерия государственного учреждения 1.0 документы Кассовое выбытие/Заявку на кассовый расход и Кассовое поступление.

4000 руб.

12.12.2017    36934    25    9    

25

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

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

4800 руб.

18.05.2015    73942    43    30    

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