Как узнать номер колонки Таблицы Значений?
Уважаемые форумчане
есть некая ТЗ1 со строковыми данными выгруженная из файла ексель, имена колонок после обработки функцией назначаются с N1,N2 и т.д до N16, нужно при поиске найденного значения например : "Наименование товаров" в этой ТЗ1, скопировать всю колонку с найденным значением в ТЗ2
Результат = ЗагрузкаИзExcel(ПолноеИмяФайла);
Результат.Удалить(0);
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Наименование",,"Наименование товаров (работ, услуг)");
ТЗ.Колонки.Добавить("ЕдиницаИзмерения",,"Единица измерения");
ТЗ.Колонки.Добавить("Количество",,"Количество");
ТЗ.Колонки.Добавить("Цена",,"Цена");
ТЗ.Колонки.Добавить("СтоимостьПоставки",,"Стоимость поставки");
СтрокаПоиска = Результат.Найти("Наименование товаров (работ, услуг)");
Если СтрокаПоиска <> Неопределено Тогда
ТЗ.ЗагрузитьКолонку(Результат.ВыгрузитьКолонку(СтрокаПоиска),"Наименование");
КонецЕсли;
переменная СтрокаПоиска возвращает строковое значение а нужен номер колонки, как получить имя или номер колонки ума не приложу, проблема еще в том что в зависимости от ексель файла имена колонок будут прежними но найденные данные могут быть уже в другой колонке
есть некая ТЗ1 со строковыми данными выгруженная из файла ексель, имена колонок после обработки функцией назначаются с N1,N2 и т.д до N16, нужно при поиске найденного значения например : "Наименование товаров" в этой ТЗ1, скопировать всю колонку с найденным значением в ТЗ2
Результат = ЗагрузкаИзExcel(ПолноеИмяФайла);
Результат.Удалить(0);
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Наименование",,"Наименование товаров (работ, услуг)");
ТЗ.Колонки.Добавить("ЕдиницаИзмерения",,"Единица измерения");
ТЗ.Колонки.Добавить("Количество",,"Количество");
ТЗ.Колонки.Добавить("Цена",,"Цена");
ТЗ.Колонки.Добавить("СтоимостьПоставки",,"Стоимость поставки");
СтрокаПоиска = Результат.Найти("Наименование товаров (работ, услуг)");
Если СтрокаПоиска <> Неопределено Тогда
ТЗ.ЗагрузитьКолонку(Результат.ВыгрузитьКолонку(СтрокаПоиска),"Наименование");
КонецЕсли;
переменная СтрокаПоиска возвращает строковое значение а нужен номер колонки, как получить имя или номер колонки ума не приложу, проблема еще в том что в зависимости от ексель файла имена колонок будут прежними но найденные данные могут быть уже в другой колонке
По теме из базы знаний
Найденные решения
(5)Что значит не получится?
НомерКолонки = 1;
Для Каждого Колонка Из Результат.Колонки Цикл
Строка = Результат.Найти("Наименование товаров (работ, услуг)", Колонка.Имя);
Если НЕ Строка = Неопределено Тогда
ИскомыйНомерКолонки = НомерКолонки;
КонецЕсли;
НомерКолонки = НомерКолонки + 1;
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)Что значит не получится?
НомерКолонки = 1;
Для Каждого Колонка Из Результат.Колонки Цикл
Строка = Результат.Найти("Наименование товаров (работ, услуг)", Колонка.Имя);
Если НЕ Строка = Неопределено Тогда
ИскомыйНомерКолонки = НомерКолонки;
КонецЕсли;
НомерКолонки = НомерКолонки + 1;
КонецЦикла;
Показать
Ни чё не понятно!
Типа такого?
Типа такого?
тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить("N1");
тз.Колонки.Добавить("N2");
тз.Колонки.Добавить("N3");
стр = тз.Добавить(); стр[0] = "1"; стр[1] = "2"; стр[2] = "3";
стр = тз.Добавить(); стр[0] = "4"; стр[1] = "5"; стр[2] = "6";
стр = тз.Добавить(); стр[0] = "7"; стр[1] = "8"; стр[2] = "9";
Для каждого стр из тз Цикл
Сообщить(стр[1]);
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот