8.х загрузка из excel

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем bunny, 9 сен 2010.

  1. TopicStarter Overlay
    bunny
    Offline

    bunny

    Регистрация:
    9 сен 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Уважаемые знатоки
    Нужно загрузить примерно такую конструкцию в документ 1С 8, только колонок и строчек значительно больше. Пока никого нет, кто мог бы это сделать. Пытаюсь сделать сама.

    Красный Черный Серый Синий
    Высший 1
    Сорт1 5 12
    Сорт2 3
    Сорт3 7
    (вообще - это таблица. а тут всё смялось. в некоторых ячейках есть значение - количество)

    Но пока совсем новичок, дальше как? Памагите!
    Как занести вдокумент все по всем сортам и цветам?

    ДокПлан = Документы.План.ПолучитьФормуНовогоДокумента();

    ТЧ = ДокПлан.ДокументОбъект.Модели.Добавить();
    Док = ПолучитьCOMОбъект(ПутьКФайлу);

    КоличествоСтраниц = 1;
    Лист = Док.Sheets(1);
    ТекНомер = 1;

    Для ТекНомер = 1 По КоличествоСтраниц Цикл
    Сорт = Док.Sheets(ТекНомер).Cells(2,1).Value;
    ТЧ.Сорт = Справочники.Сорта.НайтиПоНаименованию(Сорт);
    Цвет = Док.Sheets(ТекНомер).Cells(2,1).Value;
    ТЧ.Цвет = Справочники.Цвета.НайтиПоНаименованию (Цвет);
    ТЧ.Количество = Док.Sheets(ТекНомер).Cells(2,2).Value;
    КонецЦикла;

    ДокПлан.Открыть();

    КоличествоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
    КоличествоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
  2. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Сразу вопрос. вы документ создаете или заполняете существующий?
    1. Вам необходимо получить сначала сам ДокументОбъект...(иил создать его), а вы получаете форму
    2. Затем получить табличную часть этого документа
    3 Уже в цикле заполнять эту ТЧ
  3. rar_xxx
    Offline

    rar_xxx

    Регистрация:
    8 сен 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Код:
    ФайлТекст = Новый Файл("C:\1.xls");
    если Не(ФайлТекст.Существует()) тогда 
    возврат; //Нет файла;)
    конецЕсли;
    
    ФайлОбъект = новый COMОбъект("Excel.Application");
    ФайлXLS = ФайлОбъект.Application.Workbooks.Open("C:\1.xls");
    
    Для	i=2 по ФайлXLS.WorkSheets(1).Cells(1,1).SpecialCells(11).Row цикл
    
    //тут проверяеш по какой нить ячейке в экселе(например ставиш там где новый док 1) если надо создать док то это
    НовыйДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
    НовыйДок.Дата = ТекущаяДата();
    НовыйДок.Контрагент = Справочники.Контрагенты.НайтиПоКоду(СтраницаФайла.Cells(i,5).Value);
    //если это уже тч документа то это
    НоваяСтрокаТЗ = НовыйДок.Товары.Добавить();
    НоваяСтрокаТЗ.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СтраницаФайла.Cells(i,6).Value);
    // ну и записываеш док(проверяя если следующая строка ексель новый док или в ексель закончились строчки) и выходиш из ексель иначе в оперативе останеца;)
    НовыйДок.Записать(РежимЗаписиДокумента.Запись);
    конецЦикла
    ФайлXLS = ФайлОбъект.Application.Workbooks.exit;
    
    
    
    
    
  4. TopicStarter Overlay
    bunny
    Offline

    bunny

    Регистрация:
    9 сен 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    ДокПлан = Документы. План.ПолучитьФормуНовогоДокумента();
    //ТЧ = ДокПлан.ДокументОбъект.Сорта.Добавить();

    Док = ПолучитьCOMОбъект(ПутьКФайлу);

    НомерСтраницы = 1;
    Лист = Док.Sheets(НомерСтраницы);
    КоличествоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
    КоличествоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
    НомерСтрокиСДанными = 1;

    Для чС = (НомерСтрокиСДанными + 1) По КоличествоСтрок Цикл
    ТЧ = ДокПлан.ДокументОбъект.Сорта.Добавить();
    Сорт = Лист.Cells(чС,1).Value;
    ТЧ.Сорт = Справочники. Сорта. НайтиПоНаименованию (Сорт);
    ТЧ.Цвет = Справочники.Цвета. НайтиПоНаименованию (Лист.Cells(1,2).Value);
    ТЧ.Количество = Лист.Cells(2,4).Value;
    КонецЦикла;

    ДокПлан.Открыть();

    Мне не надо всю таблицу. Только где есть количество. И последняя строка почему-то пустая.
  5. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    В Вашем случае Вы прыгаете выше своей головы, Вам пока рановато заниматься данной задачей, без обид, но информация при неправильном восприятии может оказаться ядом для Вашего мозга. Рано или поздно Вы дойдёте до данного уровня и сможете правильно и лаконично выполнить данную задачу, однако на данный момент рекомендую обратиться к фирме - партнёру 1С для заказа необходимой работы, недаром же говорят с дуру можно и х.. сломать.
    Удачи, сорри если что не так :angry:
Похожие темы
  1. Snickbw
    Ответов:
    2
    Просмотров:
    807
  2. Ivan2014
    Ответов:
    12
    Просмотров:
    1.950
Загрузка...

Поделиться этой страницей