Всем привет. Подскажите как можно реализовать такую задачу, скопировать столбцы из екселя и вставить их в табличную часть в 1С в необходимый столбец. Никакой толковой информации по этому не нашел. За ранее спасибо!
---
Попробуйте обработку
---
как ниже говорили есть штатные обработки, но по сути можешь найти Загрузка данных из табличного документа. Открываешь ее, читаешь эксель, создаешь док, записываешь, указываешь его в обработке, ручками указываешь какая колонка хкселя в какую колонку таблицы грузиться и наживаешь загрузить.
---
если конфигурация типовая или на основе библиотеки стандартных подсистем, то напишите внешнюю обработку заполнения табличных частей. Пример как создается обработка можно прочитать тут https://infostart.ru/1c/articles/825702/ в вашем конкретном случае нужно создать обработку, которая будет подгружать EXCEL в табличный документ, а из табличного документа уже пользователь будет выбирать какую колонку куда перенести в табличную часть.
Просто CTRL+C - CTRL+V здесь не получится.
---
В некоторых конфигурациях уже есть встроенная обработка для загрузки данных из файла
---
Скопировать не знаю, а вот с помощью обработки,которая прочитает Эксель и заполнит табличную часть документа, то такое есть. Загрузка данных из табличного документа называется. В инете можно скачать. На ИТС есть
---
Перебор строк экселя. Некоторые функции не помню для чего.
Эксель записать в таблицу значений, а потом созданную таблицу значений записать в табличную часть. Наверно так.

```1c
    ExcelПриложение = Новый COMОбъект("Excel.Application");
    ИмяФайла="\\Путь\папка\реестр договоров.XLS";
    ExcelПриложение.DisplayAlerts = False;

    //открываем файл эксель
    Попытка ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла);
    Исключение
    КонецПопытки;

    //перебираем открытый файл эксель
    Попытка
    признпоиск=0;признпоиск1=0; //переменные
    Для НомерЛиста = 1 По ExcelФайл.Sheets.Count Цикл //перебор листов
    ОбработкаПрерыванияПользователя();
    ExcelЛист = ExcelФайл.Sheets(НомерЛиста); //получаем номер листа по порядку
    xlCellTypeLastCell = 11;
    //ExcelПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row;
    //ExcelПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column;
    Для Строка = 1 По ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row Цикл //перебор строк
    ОбработкаПрерыванияПользователя();

    догном=ExcelЛист.Cells(Строка, 5).Value; //получаем значение строки в колонки №5 и записываем в переменную догном
    подп=ExcelЛист.Cells(Строка, 17).Value; //получаем значение строки в колонки №17 и записываем в переменную подп

    если сокрлп(договорконтр.номер)=сокрлп(ExcelЛист.Cells(Строка, 5).Value) тогда
    //договорконтр.номер = какое-то значение в 1с
    // номер договора из 1с сравниваем со значением ячейки из эксель

    признпоиск=1;Флажок1=истина; // переменные
    элементыформы.Флажок1.Видимость=истина; // переменные

    если сокрлп(ExcelЛист.Cells(Строка, 9).Value)="На активацию"
    // если значение из ячейки строки в колонке №9 экселя = "На активацию"
    тогда
    признпоиск1=1;Флажок3=истина; //переменные
    элементыформы.Флажок3.Видимость=истина; //переменные

    конецесли;

    конецесли;
    КонецЦикла;
    КонецЦикла;
    Исключение

    КонецПопытки;
    ExcelПриложение.Quit();
```
---
всё это можно заменить одной конструкцией которая перебирает все ячейки табличного документа по порядку куда и читается файл EXCEL без промежуточных таблиц значений и т.д., а в конкретном случае вообще нужно лишь убрать цикл перебора колонок и указать там конкретный номер колонки, сразу при проходе цикла по всем строкам колонки добавлять данные в табличную часть. К слову такой метод не требует установки EXCEL в отличие от работы через COM объект.

```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ИмяФайлаEXCEL);

    Для НомерСтроки = 1 По ТабДок.ВысотаТаблицы Цикл
    Для НомерКолонки = 1 По ТабДок.ШиринаТаблицы Цикл
    Яечейка = ТабДок.Область(НомерСтроки, НомерКолонки);
    ЗначениеЯчейки = Яечейка.Текст;
    КонецЦикла;
    КонецЦикла;
```
---
В стандартной обработке запись идет только в справочники, а нужно в документы самые основные, коммерческое предложение, заказ клиента , заказ поставщику
---
как выше написали обработка называется ЗагрузкаДанныхИзТабличногоДокумента, загружает также в табличные части. С интернета скачайте.
---
Попробуйте обработку
---
она у меня и в тестовой и в рабочей базе открывается как белое окно и пусто
---
у меня сработала обработка которую я ниже прикрепил. Все четко грузит, во все табличные части основных документов. Всем спасибо!