Имя: Пароль:
1C
1С v8
Заполнение ТЧ документа
0 furen23
 
09.01.17
16:22
Задача следующая с файла ексель брать артикулы, и загружать соответствующую номенклатуру в ТЧ документа прихода.В результате добавляет лишь пустые строки.что я сделал не правильно?

Процедура Инициализировать(Объект, ИмяТабличнойЧасти = Неопределено, ТабличноеПолеОбъекта = Неопределено) Экспорт
    
    Excel = Новый COMОбъект("Excel.Application");
    Excel.WorkBooks.Open("D:\1.xlsx");
    Состояние("Обработка файла Microsoft Excel...");
    Excel.Sheets(1).Select();
    ФайлСтрок   = Excel.Cells(1,1).SpecialCells(11).Row;
    ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column ;
    
    МассивПоАртикула = Новый Массив;
    
    Для НС = 2 по ФайлСтрок Цикл
        
        Артикул = Строка(Excel.Cells(НС,1).Value);
        МассивПоАртикула.Добавить(Артикул);
        
    КонецЦикла;
    
    ТабличнаяЧасть = Объект[ИмяТабличнойЧасти];
    
    ФормаВыбораПоступления = ПолучитьФорму("Форма");
    //ФормаВыбораПоступления.ОткрытьМодально();
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Номенклатура.Артикул,
        |    Номенклатура.Наименование,
        |    Номенклатура.БазоваяЕдиницаИзмерения
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    Номенклатура.Артикул В (&Артикул)";
    
    Запрос.УстановитьПараметр("Артикул", МассивПоАртикула);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
        НоваяСтрокаТЧ = ТабличнаяЧасть.Добавить();
        НоваяСтрокаТЧ.Номенклатура = (Excel.Cells(НС,1).Value);
        Объект.Записать();
        
    КонецЦикла;
    
КонецПроцедуры;
1 Cool_Profi
 
09.01.17
16:23
НоваяСтрокаТЧ.Номенклатура = (Excel.Cells(НС,1).Value);

НоваяСтрокаТЧ.Номенклатура - тут у тебя ссылка

(Excel.Cells(НС,1).Value) - а тут строка
2 furen23
 
09.01.17
16:26
(1) благодарю!
3 Cool_Profi
 
09.01.17
16:26
(2) ТО есть самому догадаться было нельзя? ))
4 furen23
 
09.01.17
16:27
(3) думаю если часок посидел то догадался бы, но времени нет) так что большое спасибо)
5 Cool_Profi
 
09.01.17
16:35
(4) Достаточно 2х минут в отладчике. И знаний, разумеется