загрузка данных из файла в ТЗ.

1. nadyusha22 06.08.24 03:49 Сейчас в теме
При загрузке данных из файла получаю ошибку:

Значение не является значением объектного типа (Выгрузить).

вот запрос:

|ВЫБРАТЬ
| ТЧ.Категория КАК Категория,
| ТЧ.Plan1 КАК Plan1,
| ТЧ.Plan2 КАК Plan2,
| ТЧ.BonusSumma КАК BonusSumma
|ПОМЕСТИТЬ вт_Excel
|ИЗ
| &ТЧ КАК ТЧ
|;


тут я положила временное хранилище:

&НаКлиенте
Процедура ПрочитатьФайлы(Команда)
    
    тзБонусы.Очистить();
    
    Если ФорматФайла="XLSX" Тогда
        
        ПрочитатьФайл_XLS();
        
    КонецЕсли;
    
КонецПроцедуры

&НаСервере
Процедура ПрочитатьФайл_XLS_НаСервере(АдресДанных)    
    
    ТабДок= Новый ТабличныйДокумент;
    
    Данные= ПолучитьИзВременногоХранилища(АдресДанных);
    
    ПутьКФайлуНаСервере=ПолучитьИмяВременногоФайла("xlsx");
    
    Данные.Записать(ПутьКФайлуНаСервере);
    
    Попытка
        
        ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
                
    Исключение
    
        Сообщение= Новый СообщениеПользователю;
        
        Сообщение.Текст="Файл не найден" + ОписаниеОшибки();
        
        Сообщение.Сообщить();
        
        Возврат;
            
    КонецПопытки;
    
    КоличествоСтрок= ТабДок.ВысотаТаблицы;
    
    Для НомерСтроки=1 По КоличествоСтрок Цикл
        
        СтрокаДанных=тзБонусы.Добавить();
                     
        СтрокаДанных.Категория=ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C"+1).ТекущаяОбласть.Текст;
        
        СтрокаДанных.Plan1=ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C"+2).ТекущаяОбласть.Текст;

        СтрокаДанных.Plan2=ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C"+3).ТекущаяОбласть.Текст;
        
        СтрокаДанных.BonusSumma=ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C"+4).ТекущаяОбласть.Текст;
    
    КонецЦикла;    
            
КонецПроцедуры


&НаКлиенте
Процедура ПрочитатьФайл_XLS()
    
    ДанныеФайла= Новый ДвоичныеДанные(ПутьКФайлам);
    
    АдресДанных=ПоместитьВоВременноеХранилище(ДанныеФайла,УникальныйИдентификатор);
    
    ПрочитатьФайл_XLS_НаСервере(АдресДанных);    
    
КонецПроцедуры
Показать



тут параметры запроса:

Запрос.УстановитьПараметр("Нач", Нач);
    Запрос.УстановитьПараметр("Кон", КонецДня(Кон));
    Запрос.УстановитьПараметр("Отдел",Отдел);
    Запрос.УстановитьПараметр("Филиал",Филиал);
    Запрос.УстановитьПараметр("ТЧ", ПутьКФайлам.Выгрузить);
    Запрос.УстановитьПараметр("Товар", Товар);
    ////////////////////////////////////////////////////////////­///////////
    
    ПолученноеЗначение = ЗначениеИзФайла(ПутьКФайлам);
    
    Если ТипЗнч(ПолученноеЗначение) = Тип("ТаблицаЗначений") Тогда
        
        //не знаю что дальше
    КонецЕсли;    
    
    ////////////////////////////////////////////////////////////­///////////
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Выборка= РезультатЗапроса.Выбрать();
    
    тзБонусы.Очистить();
    
    Пока Выборка.Следующий() Цикл
        
        ТабЗнач=тзБонусы.Добавить();
        
        ТабЗнач.BonusSumma=Выборка.BonuSumma;

        ТабЗнач.Plan1=Выборка.Plan1;
      
        ТабЗнач.Plan2=Выборка.Plan2;
      
        ТабЗнач.Категория=Выборка.Категория;
Показать


Вот сам файл:
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 06.08.24 08:25 Сейчас в теме
Давно ли у строковых типов появилось свойство Выгрузить?
3. nadyusha22 06.08.24 08:42 Сейчас в теме
(2) Переписал, код:
Прикрепленные файлы:
4. user2033930 06.08.24 09:07 Сейчас в теме
(3) А если там не ТЗ? Вообще не будешь параметр запроса устанавливать?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот