| 
    
        
     
     | 
    
  | 
таблицаЗначение перевод строки в числовой тип | ☑ | ||
|---|---|---|---|---|
| 
    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) партизанщина... может еще о чем умолчал? Имя колонки то знаешь?     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |