1c8 работа с внешним файлом

Тема в разделе "1C и всё что с ней связано", создана пользователем KiR, 17 дек 2007.

  1. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Есть типовая конфигурация и файл с данными с биржи. Файл в принцыпе экселевского типа - т.е. табличный документ. В связи с тем что нету опыта работы с файлами прошу помочь в двух вопросах:
    1. По-идее нужно каким-то образом открыть файл и выгрузить данные в какую-то Таблицу Значений. Верно ли это или обрабатывать лучше как-то иначе?
    2. Каким образом открыть этот самый файл и получить оттуда данные?
    Заранее всем спасибо
     
  2. Dr.Uid

    Dr.Uid Гость

  3. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: Dr.Uid
    Спасибо. скачал, погляжу.. Если будут вопросы напишу)
     
  4. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Народ. Помогите плиз написать код, который будет брать данные из экселевского файла (данные идут структурированно в 8-ми столбцах) и переносить их в таблицу значений. Желательно так чтобы таблица значений создавалась сама...
    Как подключить файл я знаю, а вот как перегать из него данные в таблицу значений - нет. Помогите плиз, очень нада!
     
  5. kaa

    kaa Гость

    Табло = СоздатьОбъект("ТаблицаЗначений");
    Табло.НоваяКОлонка();//и т.д

    Для Инд=ПерСтр По ПосСтр Цикл
    Табло.НоваяСтрока();
    Табло.ХХХ = Прайс.ActiveSheet.Cells(Инд,1).Value;//и тд параметры (Строка,Колонка)
    КонецЦикла;
     
  6. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: kaa
    Спасибо большое. Тока вопрос - чему должны равняться ПерСтр и ПосСтр? А также что значит ХХХ?
     
  7. Isabela

    Isabela Гость

    ПерСтр - первая строка,
    ПосСтр - последняя,
    ХХХ - имя колонки в ТЗ
    например, так
    Табло.Товар = Прайс.ActiveSheet.Cells(Инд,1).Value;
    Табло.Цена = Прайс.ActiveSheet.Cells(Инд,2).Value;
     
  8. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Всем огромне спасибо. Вычитывать удалось. Но теперь хочу сделать так чтобы попадало не все, а только некоторое. Вот код, но не пойму почему он не отрабатывает как нужно:

    Для Инд=2 По 3745 Цикл
    Если Excel.ActiveSheet.Cells(Инд,1).Value = "Корп" или Excel.ActiveSheet.Cells(Инд,1).Value = "Муни" Тогда
    СТЗ = ТаблицаЗначений.Добавить();
    СТЗ.Сектор_рынка = Excel.ActiveSheet.Cells(Инд,1).Value;
    СТЗ.Облигация_выпуск = Excel.ActiveSheet.Cells(Инд,2).Value;
    СТЗ.Состояние_выпуска = Excel.ActiveSheet.Cells(Инд,3).Value;
    КонецЕсли;
    КонецЦикла;

    В итоге получаю чистую ТЗ, но значения типа Корп или Муни в файле есть
     
  9. kaa

    kaa Гость

    <!--QuoteBegin-KiR+12:02:2008, 19:07 -->
    <span class="vbquote">(KiR @ 12:02:2008, 19:07 )</span><!--QuoteEBegin-->Если Excel.ActiveSheet.Cells(Инд,1).Value = "Корп" или Excel.ActiveSheet.Cells(Инд,1).Value = "Муни" Тогда
    [snapback]97711" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Возможно так:
    Если (СокрЛП(Excel.ActiveSheet.Cells(Инд,1).Value) = "Корп") или (СокрЛП(Excel.ActiveSheet.Cells(Инд,1).Value) = "Муни") Тогда
     
  10. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Для: kaa
    Видимо у меня какие-то траблы с платформой(( перестартонул - заработало))
     
Загрузка...

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