|
таблицаЗначение перевод строки в числовой тип | ☑ | ||
---|---|---|---|---|
0
Enot_tut
16.04.18
✎
08:51
|
Доброе утро всем, есть в таблице значения колонка количество, с типом строка как его перевести в строку и получить итог?
|
|||
1
1Сергей
16.04.18
✎
08:52
|
Добавить новую колонку и перебором заполнить
|
|||
2
Вася Теркин
16.04.18
✎
08:58
|
при заполнении таблицы сразу сделай число. и сабжа не будет.
|
|||
3
Enot_tut
16.04.18
✎
09:38
|
(2) загрузка идет туда с помощью ПостроительОтчета
|
|||
4
Cool_Profi
16.04.18
✎
09:41
|
(3) А в построителе откуда строка?
|
|||
5
Enot_tut
16.04.18
✎
09:44
|
(4) через ексель,
|
|||
6
Enot_tut
16.04.18
✎
09:45
|
Попытка
лкЕксель = Новый COMОбъект("Excel.Application"); Исключение лкСообщение = "Невозможно загрузить MS EXCEL !!!" + Символы.ПС + ОписаниеОшибки(); Сообщить(лкСообщение); Возврат ОписаниеОшибки(); КонецПопытки; лкЭксельКниги = лкЕксель.Workbooks; Попытка КнигаИзФайла = лкЭксельКниги.Open(прПутьКФайлу,,True); лкЕксель.Visible = 0; Исключение лкСообщение = "Невозможно открыть файл " + прПутьКФайлу + " !!!" + Символы.ПС + ОписаниеОшибки(); Сообщить(лкСообщение); Возврат ОписаниеОшибки(); КонецПопытки; Попытка лкЛист= КнигаИзФайла.Sheets(Лист); Исключение лкОшибка = ОписаниеОшибки(); Сообщить(лкОшибка); КонецПопытки; Попытка лкМассивы = лкЛист.UsedRange.Value.Выгрузить(); Исключение лкОшибка = ОписаниеОшибки(); Сообщить(лкОшибка); лкМассивы = Новый Массив; КонецПопытки; //закрываем excel Попытка КнигаИзФайла.Close(); Исключение лкОшибка = ОписаниеОшибки(); Сообщить(лкОшибка + Символы.ПС + "При необходимости, закройте Ексель самостоятельно."); КонецПопытки; лкЭксельКниги = Неопределено; лкЕксель = Неопределено; //лкЕксель.quit(0); //отфильтровка пустых строк - отключено //ПроверитьМассивыДанных(лкМассивы); лкКоличество = лкМассивы[0].Количество(); Если Не (лкМассивы.Количество() > 0 и лкКоличество > 0) Тогда //Нет данных, может лист не тот указали? Сообщаем выходим Сообщить("Книга: " + прПутьКФайлу + " , Лист: + " + Лист + " - Нет данных!"); Возврат ОписаниеОшибки(); КонецЕсли; //сама загрузка ТабличныйДокумент = Новый ТабличныйДокумент; лкСтрока = 1; лкТекСтрока = 1; текСтрока = 0; Для лкИндекс = 0 По лкКоличество-1 Цикл лкКолонка = 0; Для каждого лкКол Из лкМассивы Цикл если лкСтрока = 3 тогда текСтрока = 1; КонецЕсли; если текСтрока = 1 тогда лкКолонка = лкКолонка + 1; лкЗначение = лкКол[лкИндекс]; ТабличныйДокумент.Область(лкТекСтрока, лкКолонка).Текст = лкЗначение; Если лкТекСтрока = 1 Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Данные.Наименование КАК Наименование, | Данные.Кафе КАК Кафе, | Данные.Склад КАК Склад |ИЗ | Справочник.Данные КАК Данные |ГДЕ | Данные.ЭтоГруппа = &ЭтоГруппа"; Запрос.УстановитьПараметр("ЭтоГруппа", Ложь); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Склад = лкЗначение тогда ТабличныйДокумент.Область(лкТекСтрока, лкКолонка).Текст = ВыборкаДетальныеЗаписи.Наименование; КонецЕсли; КонецЦикла; иначе ТабличныйДокумент.Область(лкТекСтрока, лкКолонка).Текст = лкЗначение; КонецЕсли; КонецЕсли; КонецЦикла; если текСтрока = 1 тогда лкТекСтрока = лкТекСтрока+1; КонецЕсли; лкСтрока = лкСтрока + 1; КонецЦикла; ТабличныйДокумент.ФиксацияСверху = 1; ПоследняяСтрока = ТабличныйДокумент.ВысотаТаблицы; ПоследняяКолонка = ТабличныйДокумент.ШиринаТаблицы; ОбластьЯчеек = ТабличныйДокумент.Область(1, 1, ПоследняяСтрока, ПоследняяКолонка); // Создаем описание источника данных на основании области ячеек табличного документа. ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластьЯчеек); // Создаем объект для интеллектуального построения отчетов, // указываем источник данных и выполняем построение отчета. ПостроительОтчета = Новый ПостроительОтчета; ПостроительОтчета.ИсточникДанных = ИсточникДанных; ПостроительОтчета.Выполнить(); ТабЗначенийОтчетОСкладах = ПостроительОтчета.Результат.Выгрузить(); Возврат ТабЗначенийОтчетОСкладах; |
|||
7
Enot_tut
16.04.18
✎
09:50
|
а есть у кого код как пробежать именно по колонке? а не по всей таблице?
|
|||
8
AlexeiIvan
16.04.18
✎
09:53
|
(7) Чего??
|
|||
9
Enot_tut
16.04.18
✎
09:54
|
(8) есть колонка количество, и как тока по не пробежаться?
|
|||
10
AlexeiIvan
16.04.18
✎
09:55
|
(9) Еще раз и медленнее.
|
|||
11
Lexey_
16.04.18
✎
09:55
|
(9) у тебя колонка находится вне таблицы, отдельно?
|
|||
12
AlexeiIvan
16.04.18
✎
09:56
|
(11) Да, отдельно стоящая )
|
|||
13
Enot_tut
16.04.18
✎
09:58
|
(11) она находиться в таблице значения
|
|||
14
Darych
16.04.18
✎
09:58
|
понедельнично)
|
|||
15
Lexey_
16.04.18
✎
09:59
|
(13) ну и чем тогда тебя не устраивает пробег по всей таблице?
|
|||
16
AlexeiIvan
16.04.18
✎
09:59
|
(13) Ну, и?
|
|||
17
Сияющий в темноте
16.04.18
✎
09:59
|
Отдельно стоящая колонка,это массив,получается через ВыгрузитьКолонку,но зачем?
|
|||
18
AlexeiIvan
16.04.18
✎
09:59
|
(15) Сложно это.
|
|||
19
Lexey_
16.04.18
✎
10:04
|
(6) это гениально, что в базе данных есть справочник, который называется "Данные"
|
|||
20
Enot_tut
16.04.18
✎
10:04
|
(17) связана тем что количество колонок всегда разная, могут быть 3 колонки а могут и 16
|
|||
21
Darych
16.04.18
✎
10:05
|
(20) да хоть 100... обращаться тебе все равно к одной
|
|||
22
AlexeiIvan
16.04.18
✎
10:05
|
(20) И?
|
|||
23
Enot_tut
16.04.18
✎
10:09
|
(21) а у него постоянно название меняется количество(аркады_55а) или количество(винокурово_7б)
|
|||
24
Lexey_
16.04.18
✎
10:11
|
(23) а как же ты тогда собрался по одной колонке бежать, если не знаешь ее названия?
|
|||
25
Darych
16.04.18
✎
10:15
|
(23) партизанщина... может еще о чем умолчал? Имя колонки то знаешь?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |