|
Эксель: данные из двух колонок в одну (в массив) | ☑ | ||
---|---|---|---|---|
0
листопад
22.12.11
✎
22:59
|
В Эксель есть колонка с наименованием на англ.языке (НаимАнгл) и колонка с наименованием на русском языке (НаимРуск). Надо загрузить номенклатуру, чтобы наименование было в виде:
НаимАнгл/НаимРуск Подскажите, не получается... Пишу: Процедура ЗагрузитьДанныеИзФайла(ПутьКФайлу,Таблица) Экспорт Excel = Новый COMОбъект("Excel.Application"); WB = Excel.Workbooks.Open(ПутьКФайлу); WS = WB.Worksheets(1); //указываем номер листа - 1 arr = WS.UsedRange.Value; //передаём таблицу в переменную WB.Close(0); МассивКолонок = arr.Выгрузить(); //Выгружаем таблицу в массив всегоСтрок = (МассивКолонок.Получить(0).Количество())-1; Для строкаТП = 1 По всегоСтрок Цикл НовСтрока = Таблица.Добавить(); НовСтрока.Номер = СокрЛП(МассивКолонок.Получить(0).Получить(строкаТП)); НовСтрока.НаимАнгл = СокрЛП(МассивКолонок.Получить(1).Получить(строкаТП)); НовСтрока.Кол = СокрЛП(МассивКолонок.Получить(2).Получить(строкаТП)); НовСтрока.ЕдАнгл = СокрЛП(МассивКолонок.Получить(3).Получить(строкаТП)); НовСтрока.ЕдРуск = СокрЛП(МассивКолонок.Получить(4).Получить(строкаТП)); НовСтрока.Сумма = СокрЛП(МассивКолонок.Получить(5).Получить(строкаТП)); НовСтрока.НаимРуск = СокрЛП(МассивКолонок.Получить(6).Получить(строкаТП)); НовСтрока.НаимИтоговое = СокрЛП(НовСтрока.НаимАнгл) + СокрЛП(НовСтрока.НаимРуск); //вот здесь не получается КонецЦикла; КонецПроцедуры |
|||
1
ProProg
22.12.11
✎
23:03
|
разуй глаза
|
|||
2
wade25
22.12.11
✎
23:04
|
Конкатенация строк не?)
|
|||
3
НуВотКак
22.12.11
✎
23:04
|
ну сложи
|
|||
4
листопад
22.12.11
✎
23:06
|
(3) Так я и складываю:
НовСтрока.НаимИтоговое = СокрЛП(НовСтрока.НаимАнгл) + СокрЛП(НовСтрока.НаимРуск); |
|||
5
НуВотКак
22.12.11
✎
23:08
|
ну и почему не скалдывается? значит это не строки, надо сделать строкой
|
|||
6
wade25
22.12.11
✎
23:08
|
Та нафиг тут вообще все это) Иди циклом по строкам, если не пустая строка, то НовСтрока.НаимИтоговое = 1(стр1, кол2) + "\" + 2(стр1, кол3). Ну как то так...)
|
|||
7
ProProg
22.12.11
✎
23:09
|
пилять. все разуйте глаза
|
|||
8
НуВотКак
22.12.11
✎
23:10
|
(7) да скажи уж ответ.
|
|||
9
листопад
22.12.11
✎
23:11
|
(6) не поняла, в чем отличие от моего (4) ?
|
|||
10
ProProg
22.12.11
✎
23:11
|
(8) шо слеп?
у него стоит один плюс. а надо бы парочку с "/" собственно в (6) ответ. |
|||
11
wade25
22.12.11
✎
23:13
|
+ еще перед нужно "" +, а то если у тебя нет проверки на незаполненное, ошибка вылетит...
|
|||
12
НуВотКак
22.12.11
✎
23:13
|
ладно чтото это совсем нудняк
|
|||
13
maxstore
22.12.11
✎
23:15
|
НовСтрока.НаимИтоговое =""+ СокрЛП(НовСтрока.НаимАнгл) + "" + СокрЛП(НовСтрока.НаимРуск) + "";
|
|||
14
НуВотКак
22.12.11
✎
23:16
|
Маразм крепчал
|
|||
15
листопад
22.12.11
✎
23:17
|
(13) написАла, все равно не заполняется (((
|
|||
16
maxstore
22.12.11
✎
23:19
|
Ну вот эти значения (...НовСтрока.НаимАнгл ..НовСтрока.НаимРуск) в отладчике тип значения строка?
|
|||
17
НуВотКак
22.12.11
✎
23:19
|
(15) К строке приведи значения из ячеек
|
|||
18
maxstore
22.12.11
✎
23:23
|
(17) "" + система по первому в конкатенации попытается привести все остальное к типу строки...
|
|||
19
Deon
22.12.11
✎
23:24
|
Вообще, конечно, стоило бы начать с описания проблемы. Конкретно-то что "не получается"?
Может там ваще на выходе Таблица пустая? |
|||
20
НуВотКак
22.12.11
✎
23:25
|
Крутотенюшка --- + ""; --- если ты еще логично раскажешь шо цэ галиматья делает, я буду тебе примного благодарен
|
|||
21
листопад
22.12.11
✎
23:27
|
(16), (17) Не получается, пишу:
НовСтрока.НаимИтоговое = ""+ Строка(СокрЛП(НовСтрока.НаимАнгл)) + "" + Строка(СокрЛП(НовСтрока.НаимРуск)) + ""; |
|||
22
НуВотКак
22.12.11
✎
23:28
|
(21) Почему не получается? Выдели в отладчике НовСтрока.НаимАнгл и скажи нам пожалуйста тип и значение, оки доки?
|
|||
23
maxstore
22.12.11
✎
23:31
|
(20) ну ты че?
в конкатенации если мы пишем 23 + "21" то будет 44, а если "23" + 21 то "2321" |
|||
24
листопад
22.12.11
✎
23:34
|
(16), (22) Отладчик: http://s001.radikal.ru/i194/1112/a4/da3b1344fa8b.jpg
|
|||
25
НуВотКак
22.12.11
✎
23:34
|
(23) Ну это вообще крутотенюшка-крутотень
НовСтрока.НаимИтоговое =""+ 1 + "" + 2 + ""; - это я упростил то что ты написал в (13) в котором даром не нужно все что после 2............... |
|||
26
НуВотКак
22.12.11
✎
23:35
|
(24) Ну так значения нет, что ты складуешь то?
|
|||
27
листопад
22.12.11
✎
23:37
|
||||
28
Deon
22.12.11
✎
23:38
|
(27) Давай-давай, ща ещё 5 раз нажать F10 и дело пойдееееет
|
|||
29
maxstore
22.12.11
✎
23:38
|
(25) Ну и?... результат будет "12"
|
|||
30
Deon
22.12.11
✎
23:40
|
Чё-то я вас не пойму, о чем вы ваще спорите. В последней строке идет сложение строк, какие там нахрен числа?
|
|||
31
Deon
22.12.11
✎
23:41
|
(27) Ну как там с отладчиком-то дела?
|
|||
32
листопад
22.12.11
✎
23:46
|
(31) Странно, в отладчике на строке НовСтрока.НаимИтоговое = ""+ Строка(СокрЛП(НовСтрока.НаимАнгл)) + "" + Строка(СокрЛП(НовСтрока.НаимРуск)) + "";
показывает все правильно: Omega 73смазка А почему тогда в ТЗ на форме все колонки переносятся, а эта -нет??? |
|||
33
НуВотКак
22.12.11
✎
23:48
|
(29) Правильно НовСтрока.НаимИтоговое =""+ 1 + "" + 2; и вот так он тоже будет "12" ты мне начал объяснять про приведение типов а я тебя спросил "зачем ты лишние ковычки поставил?", на что ты мне опять очевидные вещи говоришь
|
|||
34
листопад
22.12.11
✎
23:49
|
+(32) всем СПАСИБО!!! Нашла свою ошибку )))
|
|||
35
Deon
22.12.11
✎
23:49
|
(34) Поведай хоть, в чем она была? )
|
|||
36
листопад
22.12.11
✎
23:56
|
(35) Я значение Данные в ТабличномПоле на форме не определила у НаимИтоговое )))
|
|||
37
листопад
23.12.11
✎
00:00
|
Еще подскажите пож-та:
в Эксель колонка Количество заполнена по-разному, например: 10 10.00 10,00 А должно быть как просто число 10. Также колонка Сумма заполнена не корректно: 1,771.24 16.34 17,16 Можно ли это при перегрузке в ТЗ как-то преобразовывать в единый формат? |
|||
38
листопад
23.12.11
✎
00:02
|
(37) Такое получилось, т.к. данные из формата pdf перевели в Эксель. А теперь это все надо как-то загрузить в 1С.
|
|||
39
maxstore
23.12.11
✎
00:05
|
(33) кавычки лишние, согласен, но это не ошибка
|
|||
40
maxstore
23.12.11
✎
00:06
|
Формат(.. , ..)
|
|||
41
НуВотКак
23.12.11
✎
00:06
|
(39) Конечно не ошибка
|
|||
42
НуВотКак
23.12.11
✎
00:07
|
Число(СтрЗаменить(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>))
|
|||
43
Deon
23.12.11
✎
00:12
|
(37) Ну, в первом случае все десятки переведутся в число 10 без проблем, вроде
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |