Что-то торможу...

Новая тема
"Помогите, пожалуйста!!! Требуется переименовать часть реквизита.Т.е. есть сокращенные названия объектов и их небольшая характеристика. Необходимо, чтобы вместо сокращений были полные названия, но характеристика осталась. Мне кажется это должно выглядеть примерно так:
Процедура Переименовать()  
Спр_ОС = СоздатьОбъект ("Справочник.ОсновныеСредства");
Спр_ОС.ВыбратьЭлементы ();
   Пока Спр_ОС.ПолучитьЭлемент () = 1 Цикл
Если Лев(Спр_ОС.Наименование,8) = "Каб.лин." Тогда
            Спр_ОС.Наименование = "Кабельные Линии" +Сред(Спр_ОС. Наименование,8);
Спр_ОС.Записать();                                                                         КонецЕсли;
       
КонецЦикла;  
   КонецПроцедуры
Подскажите, пожалуйста, я на правильном пути? Что не так?"
Вроде все правильно,а что смущает?
"Получите сообщение "Нарушен порядок выборки"
Нужно:
Процедура Переименовать()  
СписокЭлементовДляПереименования=СоздатьОбъект("СписокЗначений");
Спр_ОС = СоздатьОбъект("Справочник.ОсновныеСредства");
Спр_ОС.ВыбратьЭлементы(0);
Пока Спр_ОС.ПолучитьЭлемент(1) = 1 Цикл
Если Лев(Спр_ОС.Наименование,8) = "Каб.лин." Тогда
СписокЭлементовДляПереименования.ДобавитьЗначение(Спр_ОС.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Для i=1 По СписокЭлементовДляПереименования.РазмерСписка() Цикл
Если Спр_ОС.НайтиЭлемент(СписокЭлементовДляПереименования.ПолучитьЗначение(i))=1 Тогда
Спр_ОС.Наименование = "Кабельные Линии" +Сред(Спр_ОС. Наименование,8);
Спр_ОС.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры"
"предлагаю вариант через запрос

Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Обрабатывать НеПомеченныеНаУдаление;
|Без итогов;
|ТекущийЭлемент = Справочник.ОсновныеСредства.ТекущийЭлемент;
|Наименование = Справочник.ОсновныеСредства.Наименование;
|Группировка ТекущийЭлемент;
|Условие(лев(Наименование,8) = ВыбНаименование);
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

спр=СоздатьОбъект("Справочник.ОсновныеСредства");
Пока Запрос.Группировка() = 1 Цикл            
  если спр.найтиэлемент(запрос.ТекущийЭлемент)=1 тогда
  спр.наименование=новоенаименование+Сред(Спр.Наименование,8);
  спр.записать();
конецесли;
КонецЦикла;
КонецПроцедуры

сделано через форму , поэтому
ВыбНаименование= то что ищем
новоенаименование = на что меняем

Удачи."
Спасибо всем огромное!!!Thorvardr отдельный респект!!!Я пока не сталкивалась с запросами, поэтому Ваш вариант мне наиболее близок и понятен.
Читают тему
(гостей: 1)

Быстрый переход