Имя: Пароль:
1C
1С v8
Перебор элементов справочника и замена символов в реквизите
0 Иванов Иван Иваныч
 
09.12.20
14:41
Всем привет! Товарищи, подсобите пожалуйста с обработкой. При переходе с 7 на 8 бухию некорректно перенеслись данные (переносил не я) и в итоге в справочнике в реквизите Наименование нужно исправить некоторые буквы на корректные. Прогаю я очень слабо, только учусь, поэтому помогите кто чем может, наставьте на путь истинный (кроме того что 1с не моё:) ). В общем ниже привожу свой ущербный код, заранее большое спасибо! P.S. бухия для Казахстана 8.2

Процедура КнопкаВыполнитьНажатие(Кнопка)
        
    Выборка = Справочники.Контрагенты.Выбрать();

    Пока Выборка.Следующий() Цикл
        Замена = Выборка.Наименование;

        Стр = СтрЗаменить(Замена,"є","ғ");
        Стр = СтрЗаменить(Замена,"Є","Ғ");
        Стр = СтрЗаменить(Замена,"ќ","қ");
        Стр = СтрЗаменить(Замена,"Ќ","Қ");
        Стр = СтрЗаменить(Замена,"ј","ә");
        Стр = СтрЗаменить(Замена,"Ј","Ә");
        Стр = СтрЗаменить(Замена,"ѕ","ң");
        Стр = СтрЗаменить(Замена,"S","Ң");
        Стр = СтрЗаменить(Замена,"ї","ү");
        Стр = СтрЗаменить(Замена,"Ї","Ү");
        Стр = СтрЗаменить(Замена,"ў","ұ");
        Стр = СтрЗаменить(Замена,"Ў","Ұ");
        Стр = СтрЗаменить(Замена,"ґ","ө");
        Стр = СтрЗаменить(Замена,"Ґ","Ө");

    КонецЦикла;
    
КонецПроцедуры
1 ДенисЧ
 
09.12.20
14:50
Получи объект по ссылке из выборке. запиши туда новое наименование и запиши объект
2 Ненавижу 1С
 
гуру
09.12.20
14:51
(0) + (1)

Выборка = Справочники.Контрагенты.Выбрать();

    Пока Выборка.Следующий() Цикл
        Замена = Выборка.Наименование;

        Замена = СтрЗаменить(Замена,"є","ғ");
        Замена = СтрЗаменить(Замена,"Є","Ғ");
        Замена = СтрЗаменить(Замена,"ќ","қ");
        Замена = СтрЗаменить(Замена,"Ќ","Қ");
        Замена = СтрЗаменить(Замена,"ј","ә");
        Замена = СтрЗаменить(Замена,"Ј","Ә");
        Замена = СтрЗаменить(Замена,"ѕ","ң");
        Замена = СтрЗаменить(Замена,"S","Ң");
        Замена = СтрЗаменить(Замена,"ї","ү");
        Замена = СтрЗаменить(Замена,"Ї","Ү");
        Замена = СтрЗаменить(Замена,"ў","ұ");
        Замена = СтрЗаменить(Замена,"Ў","Ұ");
        Замена = СтрЗаменить(Замена,"ґ","ө");
        Замена = СтрЗаменить(Замена,"Ґ","Ө");
        
        Об = Выборка.ПолучитьОбъект();
        Об.Наименование = Замена;
        Об.ОбменДанными.Загрузка = Истина;
        Об.Записать();
        
    КонецЦикла;
3 Иванов Иван Иваныч
 
09.12.20
15:38
(2) Не отработало, сделал вывод Об.Наименование, данные туда уходят, но без изменений. Мож в СтрЗаменить что-то не так прописал?
4 arsik
 
гуру
09.12.20
15:41
(3) После последней замены напиши
Сообщить("Было: "+Выборка.Наименование+" Стало: "+Замена);
5 arsik
 
гуру
09.12.20
15:48
Разницу видишь?
Замена = СтрЗаменить(Замена,"є","ғ");
и у тебя
Стр = СтрЗаменить(Замена,"є","ғ");
6 Иванов Иван Иваныч
 
09.12.20
16:02
(5) точно, что-то я маленько в шары побаловался) спасибо, заработало)))
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn