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

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

Автор Zeratul, 25 ноя 2010, 11:05

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

progmikon

Цитата: Zeratul от 25 ноя 2010, 14:33
Для ном=1 по файлстрок Цикл
       Для  КартКор =  Справочники.КарточкаКоровы.Выбрать().Следующий()По файлстрок Цикл
       
        объект =КартКор.ПолучитьОбъект();
       Объект.Код = "ДРЖ-" + КодЖИвотного;



Выдает ошибку о том что объект нельзя получить!
я не знаю уже что делать.........
неееее.

Если наименование уникально, то
Для ном=1 по файлстрок Цикл
Наименование = читаем строку наименования из экселя
СсылкаСпр = Справочники.КарточкаКоровы.НайтиПоНаименованию(Наименование, Истина);
Если НЕ СсылкаСпр.Пустая() Тогда
объект =СсылкаСпр .ПолучитьОбъект();



Zeratul

        Для ном=1 по файлстрок Цикл
       Код = КодЖивотного; 
        КартКор = Справочники.КарточкаКоровы.НайтиПоНаименованию(Код);
       Если НЕ КартКОр.Пустая() Тогда
       объект =КартКОр.ПолучитьОбъект();
      Объект.Код = "ДРЖ-"+Код;
      
         
      КонецЕсли;
      Объект.Записать();

          КонецЦикла;


{Форма.Форма(107)}: Значение не является значением объектного типа (Записать)
      Объект.Записать();



progmikon

Код в файле эксель это то, что вы забиваете в поле наименование?
Если код это код в 1С, то нужно
Справочники.КарточкаКоровы.НайтиПоКоду(Код);

Zeratul

 КартКор = Справочники.КарточкаКоровы.НайтиПоКоду(Код);

Извиняюсь выложил до этого не исправленную

Ошибка таже

progmikon

давайте опять код - будем смотреть.

Zeratul

     Для ном=1 по файлстрок Цикл
       Код = КодЖивотного; 
        КартКор = Справочники.КарточкаКоровы.НайтиПоКоду(Код);
       Если НЕ КартКОр.Пустая() Тогда
       объект =КартКОр.ПолучитьОбъект();
      Объект.Код = "ДРЖ-"+Код;
      
         
      КонецЕсли;
      Объект.Записать();

          КонецЦикла;

   
            
      
      ОбработкаПрерыванияПользователя();


      КонецЦикла;

progmikon

Объект.Записать() нужно писать до КонецЕсли; поскольку именно в этом условии вы и определяете Объект.

Если программа не входит в если - значит этот элемент по коду не найден. Проверьте, есть ли с таким кодом элемент в справочнике.

Zeratul

После условия не заходит в
объект =КартКОр.ПолучитьОбъект();
      Объект.Код = "ДРЖ-"+Код;
      
      Объект.Записать();


хотя условие выполняется
КартКОр.Пустая() = Истина

Zeratul

{Форма.Форма(85)}: Ошибка при вызове метода контекста (ПолучитьОбъект): Элемент не выбран!
       объект =КартКОр.ПолучитьОбъект();
по причине:
Элемент не выбран!


Это когда я немного изменил условие
убрал НЕ

progmikon

Цитата: Zeratul от 25 ноя 2010, 15:48
{Форма.Форма(85)}: Ошибка при вызове метода контекста (ПолучитьОбъект): Элемент не выбран!
       объект =КартКОр.ПолучитьОбъект();
по причине:
Элемент не выбран!


Это когда я немного изменил условие
убрал НЕ
Ну не находит он у вас по коду.
Еще раз прошу: сравните код, который читаете из эксель и тот, что есть в эксель. Они точно все в базе есть? или если нет - то создаем новый элемент?

Теги:

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

Рейтинг@Mail.ru

Поиск