HELP!!! Из excel В 1с.

1. sanderssanders 10.07.08 11:30 Сейчас в теме
Подскажите, ведь наверняка что-то элементарное: Есть обработка по переносу данных из Excеl в спр номенклатура ТиС 7.7. В Excel две колонки: артикул и наименование товара. Артикул в 1С уже загружен, а наименование номенклатуры загружает эта обработка. Но получается так, что артикул может повторяться, а наименование ставится только в первый найденный товар. Подскажите, пожалуйста, что нужно дописать в этой обработке, чтобы у меня для каждого одинакового артикула ставилось одно и тоже наименование. Заранее спасибо! Вот обработка:

Процедура Сформировать()
обЭксел = СоздатьОбъект("Excel.Application"); //создаем объект
НашФайл = обЭксел.Workbooks.Open(СокрЛП(ИмяФайла)); //Открываем файл
НашЛист = НашФайл.Sheets(3); //Устанавливаем нужный лист
//Знач1 = НашЛист.Cells(1,1); // Считываем значение, здесь: из первой ячейки первой строки
//Если нужно считать несколько значений то организуем цикл
СпрНом=СоздатьОбъект("Справочник.Номенклатура");

Для i = 3 По 10 Цикл
арт = НашЛист.Cells(i,2).Value;
Если СпрНом.НайтиПоРеквизиту("Артикул",Арт,1)=1 тогда
Сообщить("Найден");
зщ=НашЛист.Cells(i,3).Value;
Сообщить(зщ);

СпрНом.Наименование=Строка(зщ);

СпрНом.ПолнНаименование=Строка(зщ);

СпрНом.Записать();

иначе
СпрНом.Новый();
КонецЕСли;
КонецЦикла;
ОбЭксел.WorkBooks.close();
ОбЭксел.Quit();

КонецПроцедуры
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PeRom 51 10.07.08 13:15 Сейчас в теме
Заменить:
Код
Если СпрНом.НайтиПоРеквизиту("Артикул",Арт,1)=1 тогда 
Сообщить("Найден"); 
зщ=НашЛист.Cells(i,3).Value; 
Сообщить(зщ); 

СпрНом.Наименование=Строка(зщ); 

СпрНом.ПолнНаименование=Строка(зщ); 

СпрНом.Записать(); 

иначе 
СпрНом.Новый(); 
КонецЕСли; 
Показать полностью

на код // - строки с изменениями:
Код
Найден = 0; //
Пока СпрНом.НайтиПоРеквизиту("Артикул",Арт,1)=1 Цикл  //
Найден = 1; //
Сообщить("Найден"); 
зщ=НашЛист.Cells(i,3).Value; 
Сообщить(зщ); 

СпрНом.Наименование=Строка(зщ); 

СпрНом.ПолнНаименование=Строка(зщ); 

СпрНом.Записать(); 
КонецЦикла; //
Если  Найден = 0 Тогда //
СпрНом.Новый(); 
КонецЕсли; 
Показать полностью


3. sanderssanders 10.07.08 15:48 Сейчас в теме
неа, не сработало. Обработка остановилась на первой строке экселя и обрабатывает только ее.
4. PeRom 51 10.07.08 16:14 Сейчас в теме
Тогда так:
Код
Найден = 0; //
СпрНом.ВыбратьЭлементыПоРеквизиту("Артикул",Арт,0,0);
Пока СпрНом.ПолучитьЭлемент()=1 Цикл  //
Найден = 1; //
//.................................
Показать полностью
5. sanderssanders 10.07.08 16:18 Сейчас в теме
Спасибо за ответ! Вот сейчас только что так и попробовала по ВыбратьЭлементыПоРеквизиту. Запустила обработку - пока обрабатывает. Сйчас посмотрю результат. Просто наименований почти 15 тысяч.
6. sanderssanders 10.07.08 16:18 Сейчас в теме
7. sanderssanders 10.07.08 16:33 Сейчас в теме
СПАСИБО БОЛЬШОЕ!!!!! ПОЛУЧИЛОСЬ!!!!!!!!!!!!!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот