Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Перебор элементов справочника и замена символов в реквизите

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

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

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

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

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

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

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

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.