() PanKir,
маленькое замечание - работал со справочником и забыл что в документах не 9 цифр в коде, а 11, то есть чтобы эта функция хорошо работала для больших баз, где количество документов реально доходит до 11-ти значных чисел надо добавить ещё одно условие на длину кода, а именно:
Если ДлинаСтроки > 12 Тогда
едн = Прав(ЧислоСтрокой, 3);
ЧислоСтрокой = СокрЛП(Лев(ЧислоСтрокой, ДлинаСтроки-3));
тыщ = Прав(ЧислоСтрокой, 3);
ЧислоСтрокой = СокрЛП(Лев(ЧислоСтрокой, ДлинаСтроки-7));
млн = Прав(ЧислоСтрокой, 3);
млр = СокрЛП(Лев(ЧислоСтрокой, ДлинаСтроки-11));
Возврат млр+млн+тыщ+едн;
ИначеЕсли ДлинаСтроки > 8 Тогда
едн = Прав(ЧислоСтрокой, 3);
ЧислоСтрокой = СокрЛП(Лев(ЧислоСтрокой, ДлинаСтроки-3));
тыщ = Прав(ЧислоСтрокой, 3);
млн = СокрЛП(Лев(ЧислоСтрокой, ДлинаСтроки-7));
Возврат млн+тыщ+едн;
ИначеЕсли ДлинаСтроки > 4 Тогда
едн = Прав(ЧислоСтрокой, 3);
тыщ = СокрЛП(Лев(ЧислоСтрокой, ДлинаСтроки-3));
Возврат тыщ+едн;
Иначе
Возврат ЧислоСтрокой;
КонецЕсли;
Показать
вот писал этот код и нашел у себя же опечатку - вычитал все время 3 из длины строки, а нужно ведь каждый раз на 4 больше...