Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не определяется серверная функция

Не определяется серверная функция
Я
   skuma
 
31.10.19 - 15:08
Добрый день!

Хочу перегнать файл эксель в таблицу значений для последующего сравнения записей и занесения в справочник. Первый шаг - загрузить файл эксель и превратить его в ТЗ. Делаю обработку с кодом:

Процедура Кнопка1Нажатие(Элемент)
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выберите файл";
    Диалог.ПолноеИмяФайла = "c:\";
    Диалог.Фильтр = "Книга Excel 97-2003 (*.xls)|*.xls|Книга Excel 2007 (*.xlsx)|*.xlsx";
    
    Если Диалог.Выбрать() Тогда
        
            ПутьКФайлу = Диалог.ПолноеИмяФайла;
                    
        КонецЕсли;
        
    КонецПроцедуры
    
    
&НаКлиенте
Процедура ЗагрузитьEXCEL(ПутьКФайлу) Экспорт
    
    Файл = Новый Файл(ПутьКФайлу);
    Если НЕ Файл.Существует() Тогда
        Возврат;
    КонецЕсли;
    ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлу);
    ДокументРезультат = EXCELВТаблицуЗначений(ДвоичныеДанные, Файл.Расширение);
    ДокументРезультат.Показать();
    
КонецПроцедуры

&НаСервере
Функция EXCELВТаблицуЗначений(ДвоичныеДанные, Расширение) Экспорт
    
    ФайлEXCELНаСервере = ПолучитьИмяВременногоФайла(Расширение);
    ДвоичныеДанные.Записать(ФайлEXCELНаСервере);
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.Прочитать(ФайлEXCELНаСервере);
    УдалитьФайлы(ФайлEXCELНаСервере);
    ОбластьТаблицы = ТабличныйДокумент.Область();
    
    ПостроительЗапроса = Новый ПостроительЗапроса;
    ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ОбластьТаблицы);  
    ПостроительЗапроса.Выполнить();
    ТаблицаДанных = ПостроительЗапроса.Результат.Выгрузить();

    
КонецФункции



На что проверка модуля говорит, что ошибок не обнаружено, а приложение сообщает, что:
{ВнешняяОбработка.ВнешняяОбработка3.Форма.Форма.Форма(30,22)}: Процедура или функция с указанным именем не определена (EXCELВТаблицуЗначений)
    ДокументРезультат = <<?>>EXCELВТаблицуЗначений(ДвоичныеДанные, Файл.Расширение);

Что я делаю не так?
 
 
   vicof
 
1 - 31.10.19 - 15:13
С поменять на C
Х поменять на X
Е поменять на E
   vicof
 
2 - 31.10.19 - 15:16
И что-то я не вижу, где вызывается ЗагрузитьEXCEL
   skuma
 
3 - 31.10.19 - 15:40
(2) Пардон, скопировал из другой обработки, в которой я вторую кнопку городил.

 Если Диалог.Выбрать() Тогда
        
            ПутьКФайлу = Диалог.ПолноеИмяФайла;
            ЗагрузитьEXCEL(ПутьКФайлу)        
        КонецЕсли;
        
    КонецПроцедуры
    
В этом месте вызывается
   vicof
 
4 - 31.10.19 - 15:42
Процедура Кнопка1Нажатие(Элемент)

Где контекст?
   Cyberhawk
 
5 - 31.10.19 - 15:44
Поешь еще лунного сахара
   pechkin
 
6 - 31.10.19 - 15:45
даже если процедура найдется, то тз на клиент все равно нельзя передавать
   skuma
 
7 - 31.10.19 - 15:45
(4) в смысле? по нажатию кнопки(обычная форма) открывается диалог выбора файла
   pechkin
 
8 - 31.10.19 - 15:45
у тебя обычные формы? тогда зачем все эти на клиенте-сервере?
   skuma
 
9 - 31.10.19 - 15:56
(8) Да, у меня подобная обработка была для управляемых, там работало, переписал, начала находиться. Но теперь она пишет:

Ошибка при выполнении файловой операции  'C:\Users\1\Desktop\Список.xls'. Доступ к файлу не может быть получен.
   skuma
 
10 - 31.10.19 - 15:58
перекинул на D, начало находиться. Всем спасибо за помощь!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.