Ошибка при записи организации с введенным ОКПО
При попытке записать данные ИП с ОКПО вида : 013ХХХХХ47 выдается ошибка " Контрольное число для кода по ОКПО не совпадает с рассчитанным". При проверке выяснилось, что в функции проверки кода есть следующие строки:
Т.е. при обработке УдалитьПовторяющиесяСимволы удаляется лидирующий ноль и сбивается "развесовка разрядов", соответственно контрольное число получается не верным. Непонятно какой тайный смысл данной операции задуман у 1С-овцев.
Поправил следующим образом:
Если ЭтоЮрЛицо Тогда
КодПоОКПОДляРасчета = КодПоОКПО;
Иначе
КодПоОКПОДляРасчета = СтроковыеФункцииКлиентСервер.УдалитьПовторяющиесяСимволы(КодПоОКПО, "0");
КонецЕсли;
Т.е. при обработке УдалитьПовторяющиесяСимволы удаляется лидирующий ноль и сбивается "развесовка разрядов", соответственно контрольное число получается не верным. Непонятно какой тайный смысл данной операции задуман у 1С-овцев.
Поправил следующим образом:
Если ЭтоЮрЛицо Тогда
КодПоОКПОДляРасчета = КодПоОКПО;
Иначе
КодПоОКПОДляРасчета = КодПоОКПО;
КонецЕсли;
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо. Помогло.
Уточню, что сама функция проверки кода, которую нужно править, находится в
Общем модуле, который называется РегламентированныеДанныеКлиентСервер.
Объявление функции выглядит так: Функция КодПоОКПОСоответствуетТребованиям(КодПоОКПО,ЭтоЮрЛицо,ТекстСообщения = "") Экспорт
Более быстрый вариант нахождения места исправления (если вы не можете найти нужный модуль) - Глобальный поиск строки "УдалитьПовторяющиесяСимволы(КодПоОКПО, "0")" по модулям конфигуратора.
Уточню, что сама функция проверки кода, которую нужно править, находится в
Общем модуле, который называется РегламентированныеДанныеКлиентСервер.
Объявление функции выглядит так: Функция КодПоОКПОСоответствуетТребованиям(КодПоОКПО,ЭтоЮрЛицо,ТекстСообщения = "") Экспорт
Более быстрый вариант нахождения места исправления (если вы не можете найти нужный модуль) - Глобальный поиск строки "УдалитьПовторяющиесяСимволы(КодПоОКПО, "0")" по модулям конфигуратора.
Для информации в конфигурации Управление торговлей, редакция 11.1 (11.1.2.10) есть еще ошибка в расчете кода ОКПО.
ОбщиеМодули.РегламентированныеДанныеКлиентСервер
Строка 327:
Должно быть:
Смысл в том что развесовка разрядов не должна быть больше 10.
ОбщиеМодули.РегламентированныеДанныеКлиентСервер
Строка 327:
КонтрольнаяСумма = КонтрольнаяСумма + Сред(КодПоОКПОДляРасчета,инд,1) * (инд + 2);
Должно быть:
КонтрольнаяСумма = КонтрольнаяСумма + Сред(КодПоОКПОДляРасчета,инд,1) * ?((инд + 2) = 11, 1, (инд + 2));
Смысл в том что развесовка разрядов не должна быть больше 10.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)