8.х Импорт из Excel в табличную часть документа

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

  1. TopicStarter Overlay
    MevMix
    Offline

    MevMix Опытный в 1С

    Регистрация:
    21 фев 2011
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Добрый день!!!
    Вопрос такого плана. Есть эксель файл в нем храниться наименовании товар, количество серийный номер.

    № код Наименовани Количество Серийный номер

    1 235 Материнская плата 100 100; 101; 102; ...... 199
    2 107 Оптический привод 10 AD1; AD2 ............AD9
    .
    .
    .
    N NNN -----

    необходимо это перенести вттабличну часть документа, но
    (знаю что есть примеры на эту тему)
    заносить надо так одна строка один серийный номер

    то есть в табличной части документа будет выгладить так

    1 235 Материнская плата 100
    2 235 Материнская плата 101
    3 235 Материнская плата 103
    ....
    100 235 Материнская плата 199
    101 107 Оптический привод AD1
    102 107 Оптический привод AD2

    то есть количество строк в табличной части будет соответствовать сумме серийный номеров
    Все СН отделяются друг от друга точкой с запятой и пробел, кроме последнего.
    Хранить все это в одной строчке немного сложно будет с поиском, так как количество сн может быть > 1000 единиц
  2. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в чем проблема? не можете строку с серийниками разбить? или хотите, чтоб кто-то написал обработку?
  3. TopicStarter Overlay
    MevMix
    Offline

    MevMix Опытный в 1С

    Регистрация:
    21 фев 2011
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Нет обработку не прошу написать.
    Совет или пример как лучше всего разбить строку.
  4. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    В экселе у вас строка значений, разделенных запятыми: "Парам1, Парам2, Парам3,Парам4"
    А вам нужно вытянуть эту строку по составляющим
    "Парам1",
    "Парам2",
    "Парам3"
    Правильно ли я понял?

    Код:
    СтрокаИсходная = "Парам1, Парам2, Парам3";
    сзСоставляющие = Новый СпискоЗначений;
    СтрокаОстатка = СтрокаИсходная;
    ПозЗпт = Найти(СтрокаОстатка, ",");
    Пока ПозЗпт > 0 Цикл
    ПодСтрока = Лев(СтрокаОстатка, ПозЗпт - 1); //берем все, что есть до первой запятой
    сзСоставляющие.Добавить(ПодСтрока); //то что взяли - в список
    СтрокаОстатка = Сред(СтрокаОстатка, ПозЗпт+1); //оставляем только то, что правее первой запятой
    ПозЗпт = Найти(СтрокаОстатка, ","); //и снова ищем позицию первой запятой
    КонецЦикла;
    сзСоставляющие.Добавить(СтрокаОстатка); //все что осталось - это последний параметр, не заканчивающийся запятой.
    
    Так пойдет?
  5. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    1) прочитать excel в строковые массивы.
    2) организуем цикл по всем строкам.
    3) внутри него ещё один цикл (для Сч=5 по КоличествоКолонок цикл). в цикле дублируем строку, пишем другой серийник.

    пример как выгрузить excel в строковые массивы в 1С:
    _http://www.1c-pro.ru/topic37850.html/page__hl__excel__fromsearch__1

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