|   |   | 
| 
 | Загрузка из Excel | ☑ | ||
|---|---|---|---|---|
| 0
    
        Amfiaray 22.11.16✎ 09:15 | 
        Добрый день.
 Делаю обработку для загрузки данных в 1с из Excel. Из первых 2 колонок все грузится, а вот в остальных Лист.Cells(i,n).Value = Неопределено выходит. Формул нет, все значения там числовые. Excel 2010. Подскажите что может быть? | |||
| 1
    
        torgm 22.11.16✎ 09:22 | 
        (0) не заполнено
 Лист.Cells(i,n).text что говорит? | |||
| 2
    
        Невский 22.11.16✎ 09:32 | 
        (0) Колонки скрыты?     | |||
| 3
    
        elCust 22.11.16✎ 09:34 | 
        (0) Автор, тут нет экстрасенсов, пришли код цикла поглядим, может там у тебя косяк на косяке.     | |||
| 4
    
        Chameleon1980 22.11.16✎ 09:38 | 
        Подозреваю, что как в (2)
 перед заполненными колонками есть скрытые незаполненные | |||
| 5
    
        Звездец 22.11.16✎ 09:43 | 
        (4) или есть объединение ячеек. В этом случае значение в первой     | |||
| 6
    
        Amfiaray 22.11.16✎ 11:02 | 
        (1) Лист.Cells(i,n).text = "",
 (2)Нет не скрыты (5)Нет не объединены | |||
| 7
    
        torgm 22.11.16✎ 11:03 | 
        (6) значит незаполнено.     | |||
| 8
    
        Amfiaray 22.11.16✎ 11:06 | 
        ну я открываю файл и эта ячейка заполнена     | |||
| 9
    
        bolobol 22.11.16✎ 11:07 | 
        (8) это другой файл     | |||
| 10
    
        Amfiaray 22.11.16✎ 11:07 | 
        нет     | |||
| 11
    
        Fish гуру 22.11.16✎ 11:09 | 
        (10) Показывай код.     | |||
| 12
    
        Amfiaray 22.11.16✎ 11:10 | 
        Процедура ОсновныеДействияФормыЗагрузить(Кнопка)
 Если СокрЛП(ПутьКФайлу) = "" Тогда Предупреждение("Не выбран файл для загрузки."); Возврат; КонецЕсли; Попытка Excel = Новый COMObject("Excel.Application"); Excel.visible = 0; Книга = Excel.WorkBooks.Open(ПутьКФайлу); Лист = Книга.WorkSheets(1); Исключение Сообщить("Не установлен Excel"); КонецПопытки; ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column; ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; ТекСтрокаДДС = Неопределено; Для i = ПерваяСтрока По ВсегоСтрок Цикл НайденнаяСтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.ПустаяСсылка(); НайденныйДоговор = Справочники.ТипДоговора.ПустаяСсылка(); Если Лист.Cells(i,2).Value = Неопределено Тогда Продолжить; КонецЕсли; НайденнаяСтатьяДДС = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию(СокрЛП(Лист.Cells(i,2).Value)); Если НайденнаяСтатьяДДС.Пустая() Тогда НайденныйДоговор = Справочники.ТипДоговора.НайтиПоНаименованию(СокрЛП(Лист.Cells(i,2).Value)); КонецЕсли; Если НайденнаяСтатьяДДС.Пустая() И НайденныйДоговор.Пустая() Тогда Сообщить("Не нашли значение из строки "+Строка(i)); Продолжить; КонецЕсли; Если НайденнаяСтатьяДДС.Пустая() Тогда Если ТекСтрокаДДС = Неопределено Тогда Сообщить("Не указана статья ДДС для типов договоров в строке "+Строка(i)); Продолжить; КонецЕсли; НовСтр = Источник.НовыйСостав.Добавить(); НовСтр.СтатьяДДС = ТекСтрокаДДС; НовСтр.ТипДоговора = НайденныйДоговор; ЗаполнитьЧисловыеЗнаения(НовСтр, Лист, i); Иначе НовСтр = Источник.НовыйСостав.Добавить(); НовСтр.СтатьяДДС = НайденнаяСтатьяДДС; НовСтр.ТипДоговора = НайденныйДоговор; ЗаполнитьЧисловыеЗнаения(НовСтр, Лист, i); ТекСтрокаДДС = НайденнаяСтатьяДДС; КонецЕсли; КонецЦикла; Закрыть(); КонецПроцедуры Процедура ЗаполнитьЧисловыеЗнаения(СтрокаТабЧасти, МассивДанных, НомерСтроки) СтрокаТабЧасти.Январь = ?(МассивДанных.Cells(НомерСтроки, Январь).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Январь).Value)); СтрокаТабЧасти.Февраль = ?(МассивДанных.Cells(НомерСтроки, Февраль).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Февраль).Value)); СтрокаТабЧасти.Март = ?(МассивДанных.Cells(НомерСтроки, Март).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Март).Value)); СтрокаТабЧасти.Апрель = ?(МассивДанных.Cells(НомерСтроки, Апрель).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Апрель).Value)); СтрокаТабЧасти.Май = ?(МассивДанных.Cells(НомерСтроки, Май).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Май).Value)); СтрокаТабЧасти.Июнь = ?(МассивДанных.Cells(НомерСтроки, Июнь).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Июнь).Value)); СтрокаТабЧасти.Июль = ?(МассивДанных.Cells(НомерСтроки, Июль).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Июль).Value)); СтрокаТабЧасти.Август = ?(МассивДанных.Cells(НомерСтроки, Август).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Август).Value)); СтрокаТабЧасти.Сентябрь = ?(МассивДанных.Cells(НомерСтроки, Сентябрь).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Сентябрь).Value)); СтрокаТабЧасти.Октябрь = ?(МассивДанных.Cells(НомерСтроки, Октябрь).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Октябрь).Value)); СтрокаТабЧасти.Ноябрь = ?(МассивДанных.Cells(НомерСтроки, Ноябрь).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Ноябрь).Value)); СтрокаТабЧасти.Декабрь = ?(МассивДанных.Cells(НомерСтроки, Декабрь).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Декабрь).Value)); СтрокаТабЧасти.Квартал1 = ?(МассивДанных.Cells(НомерСтроки, Квартал_1).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Квартал_1).Value)); СтрокаТабЧасти.Квартал2 = ?(МассивДанных.Cells(НомерСтроки, Квартал_2).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Квартал_2).Value)); СтрокаТабЧасти.Квартал3 = ?(МассивДанных.Cells(НомерСтроки, Квартал_3).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Квартал_3).Value)); СтрокаТабЧасти.Квартал4 = ?(МассивДанных.Cells(НомерСтроки, Квартал_4).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Квартал_4).Value)); СтрокаТабЧасти.Год = ?(МассивДанных.Cells(НомерСтроки, Год).Value = Неопределено, 0, Число(МассивДанных.Cells(НомерСтроки, Год).Value)); КонецПроцедуры | |||
| 13
    
        bolobol 22.11.16✎ 11:11 | 
        (11) бог с ним, с кодом...
 Записывай, вместо чтения, значение в эту ячейку - смотри, куда записалось | |||
| 14
    
        ЕШе_н 22.11.16✎ 11:30 | 
        А переменные Январь, Февраль и т.д определены?     | |||
| 15
    
        aka AMIGO 22.11.16✎ 11:31 | 
        Лист.Cells(i,n).String
 ЗЫ. а вдруг!! :) | |||
| 16
    
        Amfiaray 22.11.16✎ 11:46 | 
        (14) Да     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |