Функция проверки номеров расчетных счетов (IBAN)

27.04.11

Разработка - Универсальные функции

Функция проверки номера расчетного счета на соответствие стандарту. (По контрольной сумме).

Файлы

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

Наименование Скачано Купить файл
Проверка IBAN
.epf 7,02Kb
106 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3650    Abysswalker    9    

45

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    6819    DeerCven    15    

59

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    49893    dimanich70    83    

170

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7420    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    62723    atdonya    31    

70

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9259    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. misha226 21 27.04.11 12:16 Сейчас в теме
Хотелось бы по подробней... ;)
2. sandybaev 205 05.11.14 15:46 Сейчас в теме
(1) misha226, вот держи специально для тебя.

В моем случае длина кода составляет 20 знаков
вдохновение брал вот отсюда:
http://www.morfoedro.it/doc.php?n=219&lang=ru


Функция ПроверитьКорректностьIBANКода(КодДляПроверки)

    ДлинаПравильная = ?(СтрДлина(КодДляПроверки) = 20, Истина, Ложь);
    
    Если ДлинаПравильная Тогда
        
        ПреобразованнаяСтрока = Перетащить4ЗнакаНазад(Строка(КодДляПроверки));
        
        ном = 0;
        ИтоговаяСтрока = "";
        Для Ном = 1 По СтрДлина(ПреобразованнаяСтрока) Цикл
        
            ИтоговаяСтрока = ИтоговаяСтрока + ВернутьЭквивалент(Сред(ПреобразованнаяСтрока, Ном, 1));	
        
        КонецЦикла; 
        
        
        Первые7Знаков = Лев(ИтоговаяСтрока, 7);
        
        ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, Первые7Знаков, "");
        
        Вторые7Знаков = Лев(ИтоговаяСтрока, 7);
        
        ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, Вторые7Знаков, "");
        
        Третьи7Знаков = Лев(ИтоговаяСтрока, 7);
        
        ИтоговаяСтрока = СтрЗаменить(ИтоговаяСтрока, Третьи7Знаков, "");
        
        Остаток       = Прав(ИтоговаяСтрока, 1);
        
        
        
        
        ПодготовленнаяСтрока = Первые7Знаков;
        
        ОстатокОтДеления = Число(ПодготовленнаяСтрока)%97;
        
        ПодготовленнаяСтрока = Строка(ОстатокОтДеления) + Вторые7Знаков;
        
        ОстатокОтДеления = Число(ПодготовленнаяСтрока)%97;
        
        ПодготовленнаяСтрока = Строка(ОстатокОтДеления) + Третьи7Знаков;
        
        ОстатокОтДеления = Число(ПодготовленнаяСтрока)%97;
        
        ПодготовленнаяСтрока = Строка(ОстатокОтДеления) + Остаток;
        
        ОстатокОтДеления = ПодготовленнаяСтрока%97;
        
        
        Если ОстатокОтДеления = 1 Тогда
            Возврат истина;
        Иначе	
            Возврат Ложь;
        КонецЕсли; 
        
    Иначе
        
        Возврат Ложь;
        
    КонецЕсли; 
    

КонецФункции // ()


и ещё две функции очень простых

Функция Перетащить4ЗнакаНазад(КодДляПроверки)

	ЧетыреЗнака = Лев(КодДляПроверки, 4);
    
    БезЧетырехЗнаков = СтрЗаменить(КодДляПроверки, ЧетыреЗнака, "");
    
    ИтоговаСтрока = БезЧетырехЗнаков + ЧетыреЗнака;
    
    Возврат ИтоговаСтрока;

КонецФункции // ()

Функция ВернутьЭквивалент(ОчереднойЗнак)

    а = 0;
    
    Если ОчереднойЗнак = "0" Тогда
    	Возврат "0";
    ИначеЕсли ОчереднойЗнак = "1" Тогда    
    	Возврат "1";
    ИначеЕсли ОчереднойЗнак = "2" Тогда    
    	Возврат "2";
    ИначеЕсли ОчереднойЗнак = "3" Тогда    
    	Возврат "3";
    ИначеЕсли ОчереднойЗнак = "4" Тогда    
    	Возврат "4";
    ИначеЕсли ОчереднойЗнак = "5" Тогда    
    	Возврат "5";
    ИначеЕсли ОчереднойЗнак = "6" Тогда    
    	Возврат "6";
    ИначеЕсли ОчереднойЗнак = "7" Тогда    
    	Возврат "7";
    ИначеЕсли ОчереднойЗнак = "8" Тогда    
    	Возврат "8";
    ИначеЕсли ОчереднойЗнак = "9" Тогда    
    	Возврат "9";
    ИначеЕсли ОчереднойЗнак = "A" Тогда    
    	Возврат "10";
    ИначеЕсли ОчереднойЗнак = "B" Тогда    
    	Возврат "11";
    ИначеЕсли ОчереднойЗнак = "C" Тогда    
    	Возврат "12";
    ИначеЕсли ОчереднойЗнак = "D" Тогда    
    	Возврат "13";
    ИначеЕсли ОчереднойЗнак = "E" Тогда    
    	Возврат "14";
    ИначеЕсли ОчереднойЗнак = "F" Тогда    
    	Возврат "15";
    ИначеЕсли ОчереднойЗнак = "G" Тогда    
    	Возврат "16";
    ИначеЕсли ОчереднойЗнак = "H" Тогда    
    	Возврат "17";
    ИначеЕсли ОчереднойЗнак = "I" Тогда    
    	Возврат "18";
    ИначеЕсли ОчереднойЗнак = "J" Тогда    
    	Возврат "19";
    ИначеЕсли ОчереднойЗнак = "K" Тогда    
    	Возврат "20";
    ИначеЕсли ОчереднойЗнак = "L" Тогда    
    	Возврат "21";
    ИначеЕсли ОчереднойЗнак = "M" Тогда    
    	Возврат "22";
    ИначеЕсли ОчереднойЗнак = "N" Тогда    
    	Возврат "23";
    ИначеЕсли ОчереднойЗнак = "O" Тогда    
    	Возврат "24";
    ИначеЕсли ОчереднойЗнак = "P" Тогда    
    	Возврат "25";
    ИначеЕсли ОчереднойЗнак = "Q" Тогда    
    	Возврат "26";
    ИначеЕсли ОчереднойЗнак = "R" Тогда    
    	Возврат "27";
    ИначеЕсли ОчереднойЗнак = "S" Тогда    
    	Возврат "28";
    ИначеЕсли ОчереднойЗнак = "T" Тогда    
    	Возврат "29";
    ИначеЕсли ОчереднойЗнак = "U" Тогда    
    	Возврат "30";
    ИначеЕсли ОчереднойЗнак = "V" Тогда    
    	Возврат "31";
    ИначеЕсли ОчереднойЗнак = "W" Тогда    
    	Возврат "32";
    ИначеЕсли ОчереднойЗнак = "X" Тогда    
    	Возврат "33";
    ИначеЕсли ОчереднойЗнак = "Y" Тогда    
    	Возврат "34";
    ИначеЕсли ОчереднойЗнак = "Z" Тогда    
    	Возврат "35";
    КонецЕсли; 
    
КонецФункции // ВернутьЭквивалент()
Показать


так что мани можно не тратить. сорри.
Для отправки сообщения требуется регистрация/авторизация