Привет всем. Есть обработка для БП3.0. Она из файла excel загружает данные по товарам которые пришли и бережно (почти) переносит все в документ поступления. Все хорошо, но вот колонка код (это артикул) разделяет числа пробелами. Но если присутствует буква или знак, то пробелов не будет.

Я пробовал в процедуре УправлениеФормой(), где такой код:

```1c
    Процедура УправлениеФормой()

    Элементы.ДанныеЗагрузкиНоменклатура.Видимость = НомерКолонкиНаименования или НомерКолонкиСерийногоНомера;
    Элементы.ДанныеЗагрузкиКод.Видимость = НомерКолонкиСерийногоНомера;
    Элементы.ДанныеЗагрузкиНаименование.Видимость = НомерКолонкиНаименования;
    Элементы.ДанныеЗагрузкиКоличество.Видимость = НомерКолонкиКоличество;
    Элементы.ДанныеЗагрузкиЦена.Видимость = НомерКолонкиЦена;
    Элементы.ДанныеЗагрузкиСумма.Видимость = НомерКолонкиСтоимости;
    Элементы.ДанныеЗагрузкиСтрана.Видимость = НомерКолонкиСтрана;
    Элементы.ДанныеЗагрузкиКодСтраны.Видимость = НомерКолонкиСтрана;
    Элементы.ДанныеЗагрузкиГТД.Видимость = НомерКолонкиНомерГТД;
    Элементы.ДанныеЗагрузкиНомерГТД.Видимость = НомерКолонкиНомерГТД;
```

Добавить

```1c
    НомерКолонкиСерийногоНомера = СтрЗаменить(Строка(НомерКолонкиСерийногоНомера), " ", ");
    НомерКолонкиСерийногоНомера = Формат(НомерКолонкиСерийногоНомера, "ЧГ=0");
```

В нашем случае нас интересует ДанныеЗагрузкиКод. Не помогло.
Дальше по коду:

```1c
    Процедура ЗаполнитьДанныеЗагрузкиНаКлиенте()

    //Добавление строки
    НоваяСтрока = Объект.ДанныеЗагрузки.Добавить();

    НоваяСтрока.НомерСтрокиExcel = НомерСтрокиExcel;
    НоваяСтрока.Код = Код;
    НоваяСтрока.Наименование = Наименование;
    НоваяСтрока.Количество = Количество;
    НоваяСтрока.Цена = Цена;
    НоваяСтрока.Сумма = Сумма;
    НоваяСтрока.КодСтраны = КодСтраны;
    НоваяСтрока.НомерГТД = НомерГТД;

    Итератор = Итератор + 1;

    Код = СтрЗаменить(Код, Символы.НПП, ");
    Код = Формат(Код, "ЧГ=0");
```

```1c
    Процедура ОбработатьДанныеЗагрузкиНаСервере()

    Для Каждого Строка Из Объект.ДанныеЗагрузки Цикл

    //Определение номенклатуры
    Если ЗначениеЗаполнено(Строка.Код) Тогда
    Строка.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Строка.Код);
    Строка.Код = Формат(Строка.Код, "ЧГ=0");
    Строка.Код = СтрЗаменить(Строка.Код, " ", ");
    КонецЕсли;
```

Каким образом тут ещё можно исправить? Ставить тип данных число и через формат? Но у меня есть артикулы с различными символами, включая буквы и тогда они проставляться не будут.
---
Решение:

Строка.Код = СтрЗаменить(Строка.Код, Символы.НПП, "");
---
Форматировать надо до помещения данных в Код, после помещения они уже строка и форматировать как число бесполезно.
---
попробовал в Процедура ЗаполнитьДанныеЗагрузки()
Не помогло.
---
В (1) я вижу, что код форматируется отдельно от помещения значения в НоваяСтрока.Код.
---
покопался в модуле обработки, не форме. Есть там такое:

```1c
    Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки,
    Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено,
    Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено,
    Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт

    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%1", Параметр1);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%2", Параметр2);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%3", Параметр3);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%4", Параметр4);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%5", Параметр5);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%6", Параметр6);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%7", Параметр7);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%8", Параметр8);
    СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%9", Параметр9);
```

Пробовал поменять Параметр1 и Параметр4 (ну в excel у меня артикул идет первой колонкой, в обработке 4 колонкой). Делал опять же так:

```1c
    Параметр1 = Формат(Параметр1, "ЧГ=0");
```

Не вышло. Ну по идее то данные отсюда заносятся.
---
Встать отладчиком и посмотреть тип параметра.

И вот здесь тоже посмотреть тип КОД

        НоваяСтрока.Код = Код;
---
вообще не пойму. Ставлю точку останова на СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%4", Параметр4); (пробовал и в других местах) далее обновляю обработку в программе, ставлю режим отладки, запускаю из документа и ничего. Т.е. останву он не видит.
---
ЛИбо не та обработка, либо не та процедура. Запустить замер производительности и посмотреть, что откуда вызывается.
---
Решение:

Строка.Код = СтрЗаменить(Строка.Код, Символы.НПП, "");