Имя: Пароль:
1C
1С v8
поиск по наименованию
0 teplitskaya
 
19.01.15
13:26
Добрый день!
пишу внешную обработку для загрузки из excel справочника контрагенты, не происходит поиск по наименованию, код ниже
&НаСервере
Процедура ЗагрузитьДанныеНаСервере()
    
Excel = Новый COMОбъект("Excel.Application");

Книга = Excel.WorkBooks.Open(Объект.ИмяФайла);
Лист = Книга.WorkSheets(1);
ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;

Для НомерСтроки = 2  по ВсегоСтрок Цикл  
    
    РасходнаяНакладная = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    
    //ищем контрагента
    
    //РасходнаяНакладная.Контрагент = СокрЛП(Лист.Cells(НомерСтроки,3).Value);
    НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию((СокрЛП(Лист.Cells(НомерСтроки,3).Value)),истина);
    
    //Контрагент = СокрЛП(Лист.Cells(НомерСтроки,3).Value);
    //РасходнаяНакладная.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент);
    //
    Если НайденныйКонтрагент.Пустая() Тогда
    Сообщить("Контрагент" + НайденныйКонтрагент + "  не найден. Будет создан новый контрагент");
    
    Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
    Контрагент.Наименование = НайденныйКонтрагент;
    Контрагент.Записать();
1 Cube
 
19.01.15
13:28
(0) На этом форуме принято девушкам сначала фотку в личную карточку вставлять, а потом уже спрашивать :)
Чем удачнее фото, тем больше помогающих :)
2 vineda
 
19.01.15
13:29
проверил - все работает
3 Галахад
 
гуру
19.01.15
13:30
Нету, наверное. Вот и не находит.
4 Дмитрий
 
19.01.15
13:47
.Value
заменить на
.Text
5 teplitskaya
 
31.01.15
14:52
Ситуация вот какая: контрик есть , НО после того как 1с считала наименование из экселя, тип значения у считанного элемента получается неопределено, как с этим бороться?
6 salvator
 
31.01.15
15:13
Если НайденныйКонтрагент.Пустая() Тогда
    ...
    Контрагент.Наименование = НайденныйКонтрагент;
    

Ничего не смущает?
7 salvator
 
31.01.15
15:15
(5)
НаименованиеКонтрагента = СокрЛП(Лист.Cells(НомерСтроки,3).Text)
НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию(НаименованиеКонтрагента,истина);
Если НайденныйКонтрагент.Пустая() Тогда
    Сообщить("Контрагент" + НаименованиеКонтрагента+ "  не найден. Будет создан новый контрагент");    
    Контрагент = Справочники.Контрагенты.СоздатьЭлемент();
    Контрагент.Наименование = НаименованиеКонтрагента;
    Контрагент.Записать();
8 teplitskaya
 
01.02.15
20:31
Огромное спасибо. Только начинаю программировать.
Все получилось :)