Вход | Регистрация


ЗагрузкаИзExcel в ТаблицуЗначение ОбычныеФормы

ЗагрузкаИзExcel в ТаблицуЗначение ОбычныеФормы
Я
   maptbln
 
14.05.18 - 11:59
Всем добрый день,пишу загрузку из excel на табличную форму
с добавлением необходимых строк из файла и занесением из в колонки ТЗ начиная с 8 разобрался.

а вот как сделать ,если мне нужно в уже сформированной только что ТЗ заполнить 2 и 3 колонку , не создавая при этом новых строк,а только значения
пробовал Колонки.Вставить ,но почему то не отрабатывает
подскажите пожалуйста

Версия = Лев(Excel.Version,Найти(Excel.Version,".")-1); 
Если Версия = "8" тогда 
ФайлСтрок = Excel.Cells.CurrentRegion.Rows.Count;
ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13); 
Иначе 
ФайлСтрок = Excel.Cells(1,1).SpecialCells(11).Row; 
ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column;
Конецесли;
    
    Для НС = 2 по ФайлСтрок Цикл  // НС указываем с какой строки начинать обработку        

        
        Состояние("Файл "+Строка(ИмяФайла)+": Обрабатывается первый лист "+Строка(Формат(?(ФайлСтрок=0,0,((100*НС)/ФайлСтрок)),"ЧЦ=3; ЧДЦ=0"))+" %");
        
        ОбработкаПрерыванияПользователя();//указав данный оператор, цикл можно прервать в любой момент нажатие ctrl+break

        
        НоваяСтрока = тпБюджетныеОперации.Добавить();
         
                  
        Для НомерКолонки = 8 по тпБюджетныеОперации.Колонки.Количество() Цикл 
            //Для НомерКолонкиЭкс = НомерКолонки-6 по  Цикл

            //заполняем строку значениями

            НомерКолонкиТаб=НомерКолонки-6;
            ТекущееЗначение = Excel.Cells(НС, НомерКолонкиТаб).Value;
            ИмяКолонки = тпБюджетныеОперации.Колонки[НомерКолонки-1].Имя;             
            НоваяСтрока[ИмяКолонки] = ТекущееЗначение;            
        КонецЦикла;
    
         КонецЦикла;   
    
    Для НС = 2 по ФайлСтрок Цикл 
        
        Состояние("Файл "+Строка(ИмяФайла)+": Обрабатывается первый лист "+Строка(Формат(?(ФайлСтрок=0,0,((100*НС)/ФайлСтрок)),"ЧЦ=3; ЧДЦ=0"))+" %");
        ОбработкаПрерыванияПользователя();//указав данный оператор, цикл можно прервать в любой момент нажатие ctrl+break

       
        
        Для НомерКолонки = 3 по 3 Цикл
            НомерКолонкиБСП=НомерКолонки-2;
            ТекущееЗначениеСтДдс = Excel.Cells(НС,НомерКолонкиБСП).Value;
            ИмяКолонкиСтДДС = тпБюджетныеОперации.Колонки[НомерКолонки-1].Имя;
            
            
            //тпБюджетныеОперации.ЗаполнитьЗначения(Тест, "ИмяКолонкиСтДДС"];

            КонецЦикла;

КонецЦикла;
 
 
   Ёпрст
 
1 - 14.05.18 - 12:00
(0)

вася[0][0] = "лох";
   maptbln
 
2 - 14.05.18 - 12:26
ТекущееЗначениеСтДдс1 = Excel.Cells(2,1).Value;
тпБюджетныеОперации[0][2]=ТекущееЗначениеСтДдс1;

хочу заполнить первую строку 3 столбец , попробовал , за пределами цикла

не подгружает
   Ёпрст
 
3 - 14.05.18 - 12:34
(2) сами строки/столбцы уже есть ?
   Ёпрст
 
4 - 14.05.18 - 12:35
твой код будет работать, если
>>>в уже сформированной только что ТЗ заполнить 2 и 3 колонку , не создавая при этом новых строк,а только значения
   maptbln
 
5 - 14.05.18 - 12:38
(3)
да,в конец процедуры добавил,после добавление строк столбцов
   maptbln
 
6 - 14.05.18 - 12:55
может ли быть дело в том , что 2 - 3 колонка должны содержать значения справочников?
   Ёпрст
 
7 - 14.05.18 - 13:47
(6) а ты чего туда передаешь ? Строки что ле ?
:))
   Ёпрст
 
8 - 14.05.18 - 13:47
тогда конечно, >>>yt gjluhe;ftn
   maptbln
 
9 - 14.05.18 - 13:58
(8)
значения)..
а как тогда заполнить данные колонки , скажем если в столбцах в экселе данные по имени будут совпадать со значениями справочников,то все равно не передастся?
   3achem
 
10 - 14.05.18 - 14:05
(9) Используй Справочник.ИмяСправочника.НайтиПоНаименованию
 
 Рекламное место пустует
   3achem
 
11 - 14.05.18 - 14:06
(9) Но в таблице значения колонка должна иметь тип того справочника, по которому ты будешь делать поиск
   maptbln
 
12 - 14.05.18 - 14:14
(11)
понял,спасибо
пробую
   Михаил Козлов
 
13 - 14.05.18 - 14:29
(12) Посмотрите штатную (ИТС) обработку ЗагрузкаДанныхИзТабличногоДокумента.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует