Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 апр 2024, 00:03

Замена Значение Справочника

Автор scully-wolf, 12 июл 2015, 14:47

0 Пользователей и 1 гость просматривают эту тему.

scully-wolf

У меня есть справочник Номенклатура с полями Наименование, ТипТовара

Как мне заменить текущее значение справочника на новое?
Я создала обработку с ТЧ ЗаменаЗнач с полями ТекЗнач (выбор из справочника) и полем НовЗнач тип строка


Вот КОд:


&НаКлиенте
Процедура ЗаменаЗначНовЗначПриИзменении(Элемент)
стр=Элементы.ЗаменаЗнач.ТекущиеДанные;
ЗаменитьЗначение(стр.ТекЗнач,стр.НовЗнач);
КонецПроцедуры


&НаСервере
Функция ЗаменитьЗначение(Тек,Нов)
Выборка = Справочники.Номенклатура.Выбрать();

Пока Выборка.Следующий() Цикл


Объект = Выборка.ПолучитьОбъект();
Если Объект.Наименование=Тек Тогда
Объект.Наименование=Нов;
КонецЕсли;
// Попытка
        Объект.Записать();
  //  Исключение
    //    Предупреждение("Не удалось записать объект """ + Объект + """
     //                  |" + ОписаниеОшибки(),60);
   // КонецПопытки;


//Если выборка.Следующий()==Тек Тогда выборка.Следующий()=Нов;

//Сообщить("Сотрудник " + выборка.Наименование + "Заменено");

КонецЦикла;

КонецФункции



//Функция ЗаменитьЗначение1(Тек,Нов)

// НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Тек").

// Для Каждого Наименование Из Справочники.Номенклатура Цикл

// Если Наименование==Тек тогда Наименование =Нов
// КонецЕсли

// КонецФункции


//&НаСервере
//Функция ЗаменитьЗначение(Тек,Нов)
//Выборка = Справочники.Номенклатура.Выбрать();

//Пока выборка.Следующий() Цикл

//Если выборка.Следующий()=Тек Тогда выборка.Следующий()=Нов;

//Сообщить("Сотрудник " + выборка.Наименование + "Заменено");

//КонецЦикла;

//КонецФункции





Вот Ошибка:

{Обработка.Обработка1.Форма.Форма.Форма(41)}: Ошибка при установке значения атрибута контекста (Объект)
Объект = Выборка.ПолучитьОбъект();
по причине:
Нельзя изменять поле, содержащее объект данных формы



Что не так, ? Я еще только учусь, не совсем в этом разбираюсь.

Дмитрий@

Уточните на какой строке ошибка
"Объект = Выборка.ПолучитьОбъект();"
или
"Объект.Наименование=Нов;".

KrivosheevEV

Объект = Выборка.ПолучитьОбъект();
заменить на:
МойОбъект = Выборка.ПолучитьОбъект();


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск