Имя: Пароль:
1C
1С v8
Загрузка данных из Excel в 1С 8.3
,
0 Reclaim
 
13.11.15
20:19
Здравствуйте. Задача стоит такая: если ИНН в Excel равен какому-то значению, то нужно записать его в реквизит Справочники.ФизическиеЛица, если значения нет, то выдать сообщение ("ИНН в строке " + НомерСтроки + " не найден")
------------------------------------------------------------------
     Для НомерСтроки = 2 ПО КоличествоСтрок Цикл
                        
          ОбработкаПрерыванияПользователя();
            
          ФизЛицоСсылка = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Excel.Cells(НомерСтроки,2).Text) + " " + СокрЛП(Excel.Cells(НомерСтроки,3).Text) + " " + СокрЛП(Excel.Cells(НомерСтроки,4).Text));
            
      ИНН = СокрЛП(Excel.Cells(НомерСтроки,5).Text);
            
      ФизЛицоОбъект = ФизЛицоСсылка.ПолучитьОбъект();
        Если ЗначениеЗаполнено(ИНН) Тогда
            ФизЛицоОбъект.ИНН = ИНН;
            ФизЛицоОбъект.Наименование = ФизЛицоСсылка;
            ФизЛицоОбъект.Записать();
        КонецЕсли;
     КонецЦикла;

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

Подскажите в каком направлении стоит думать или почему выводится эта ошибка.
1 Amra
 
13.11.15
20:25
Нет элемента с таким наименованием
2 mehfk
 
13.11.15
20:30
Перепиши

Для НомерСтроки = 2 ПО КоличествоСтрок Цикл
                        
          ОбработкаПрерыванияПользователя();
            
          ФизЛицоСсылка = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(Excel.Cells(НомерСтроки,2).Text) + " " + СокрЛП(Excel.Cells(НомерСтроки,3).Text) + " " + СокрЛП(Excel.Cells(НомерСтроки,4).Text));
            
Если Не ЗначениеЗаполнено(ФизЛицоСсылка) Тогда
Сообщить("Не найдено физлицо: " + окрЛП(Excel.Cells(НомерСтроки,2).Text) + "");
Продолжить;
КонецЕсли;

      ИНН = СокрЛП(Excel.Cells(НомерСтроки,5).Text);
            
      ФизЛицоОбъект = ФизЛицоСсылка.ПолучитьОбъект();
        Если ЗначениеЗаполнено(ИНН) Тогда
            ФизЛицоОбъект.ИНН = ИНН;
            ФизЛицоОбъект.Наименование = ФизЛицоСсылка;
            ФизЛицоОбъект.Записать();
        КонецЕсли;
     КонецЦикла;
3 Reclaim
 
13.11.15
20:41
mehfk, спасибо большое, теперь все работает на ура!

Если я правильно понимаю, то в справочнике не было элементов (физических лиц), именно поэтому 1С ругался и не хотел записывать.

Нюанс оказался совсем небольшим :)