Здравствуйте.
Конфа - мелкая самописка. Выгрузка списков в ЕГИССО. УФ. 15 платформа.

Имеется текстовый реквизит справочника.
Длинной 11 символов.
СНИЛС если точнее.
По просьбе пользователя изменил Маску на 999-999-999 99 для удобства отображения.

Справочник частично заполнен элементами.
При открытии имеющихся внутри справочника реквизит СНИЛС отражается как задано в формате. Но при просмотре списка элементов справочника в столбце СНИЛС реквизит отображается строкой - в старом формате.
При открытии, изменении реквизита (допустим удалить одну цифру и добавить ее назад) и сохранении в списке справочника все становится как надо.
Как программно обновить формат реквизита?
---
в теории хранение и отображение информации - это две большие разницы
---
Писали конфигурацию на основе какой? Или полностью самописная? Если самопис, то какие БСП использовали?
---
то какие БСП использовали
Полностью самописная.
Никакие не использовались. Требовалось просто справочник в один документ выбирать и в Эксель сохранять. Ну и бесплатно соответственно.
Потому там просто на основе стандартной конфы для разработки.
---
Длинна снилс 11 Знаков, но для выставления маски 999-999-999 99 пришлось выставить 15 знаков.
В итоге имеющиеся и забитые ранее СНИЛСЫ идут как 11 значные.
В итоге чую придется обработку по перебору документов и по изменению формата старых записей делать.
---
У Вас старые СНИЛСы остались старыми. В итоге после того, как новый СНИЛС вводите, он у вас дополняется дефисами и пробелом. Так и должно быть? Потом Вы с ним что делаете?

Вообще, чтобы старые и новые СНИЛСы были в том виде, в котором Вы их хотели бы видеть, достаточно было бы в запросе динамического списка прописать что-то типа:

```1c
    ВЫБРАТЬ
    ...
    ПОДСТРОКА(Спр.СНИЛС, 1, 3) + "-" + ПОДСТРОКА(Спр.СНИЛС, 4, 3) + ... КАК Снилс,
    ...
    ИЗ Справочник.ФизикиСотрудники КАК Спр
```

Ну и в форме тоже в поле отображать СНИЛС так, как Вы хотели бы - с помощью реквизита формы, а перед записью и при создании на сервере копировать Объект.СНИЛС в/из реквизита формы, удаляя или добавляя дефисы и пробелы. Кстати, чтобы убрать список символов из строки, достаточно написать:

```1c
    СтрБезСимволов = СтрСоединить(СтрРазделить("- "));
```
---
У Вас старые СНИЛСы остались старыми. В итоге после того, как новый СНИЛС вводите, он у вас дополняется дефисами и пробелом. Так и должно быть? Потом Вы с ним что делаете?
Ничего не делаем. Просто бухгалтеру удобнее их видеть в варианте с дефисами и пробелом.
Так вышло, что маску реквизита я добавил уже после того как бухгалтера набили 500+ элементов в формате без дефисов. А добавив не сразу глянул что старые не изменились, по итогу имеются еще 400+ элементов уже в новом формате. И теперь и у тех и у тех длинна 15 соответственно.

Теперь просто ломаю голову как старые к новому формату привести, не спотыкаясь о новые.
---
Ну и в форме тоже в поле отображать СНИЛС так, как Вы хотели бы - с помощью реквизита формы, а перед записью и при создании на сервере копировать Объект.СНИЛС в/из реквизита формы, удаляя или добавляя дефисы и пробелы. Кстати, чтобы убрать список символов из строки, достаточно написать:

СтрБезСимволов = СтрСоединить(СтрРазделить("- "));

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

Спр = Выборка.Ссылка.ПолучитьОбъект();
Спр.СНИЛС=СтрЗаменить(Выборка.СНИЛС,"-","");
Спр.Записать();

убрал все дефисы.

Затем через
Спр.СНИЛС=Строка(Лев(Спр.СНИЛС,3)+"-"+Сред(Спр.СНИЛС,4,3)+"-"+Сред(Спр.СНИЛС,7,3)+" "+Сред(Спр.СНИЛС,10,2));

проставил дефисы и пробелы.
Всем спасибо.