|
Не определяется серверная функция | ☑ | ||
---|---|---|---|---|
0
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ВТаблицуЗначений(ДвоичныеДанные, Файл.Расширение); Что я делаю не так? |
|||
1
vicof
31.10.19
✎
15:13
|
С поменять на C
Х поменять на X Е поменять на E |
|||
2
vicof
31.10.19
✎
15:16
|
И что-то я не вижу, где вызывается ЗагрузитьEXCEL
|
|||
3
skuma
31.10.19
✎
15:40
|
(2) Пардон, скопировал из другой обработки, в которой я вторую кнопку городил.
Если Диалог.Выбрать() Тогда ПутьКФайлу = Диалог.ПолноеИмяФайла; ЗагрузитьEXCEL(ПутьКФайлу) КонецЕсли; КонецПроцедуры В этом месте вызывается |
|||
4
vicof
31.10.19
✎
15:42
|
Процедура Кнопка1Нажатие(Элемент)
Где контекст? |
|||
5
Cyberhawk
31.10.19
✎
15:44
|
Поешь еще лунного сахара
|
|||
6
pechkin
31.10.19
✎
15:45
|
даже если процедура найдется, то тз на клиент все равно нельзя передавать
|
|||
7
skuma
31.10.19
✎
15:45
|
(4) в смысле? по нажатию кнопки(обычная форма) открывается диалог выбора файла
|
|||
8
pechkin
31.10.19
✎
15:45
|
у тебя обычные формы? тогда зачем все эти на клиенте-сервере?
|
|||
9
skuma
31.10.19
✎
15:56
|
(8) Да, у меня подобная обработка была для управляемых, там работало, переписал, начала находиться. Но теперь она пишет:
Ошибка при выполнении файловой операции 'C:\Users\1\Desktop\Список.xls'. Доступ к файлу не может быть получен. |
|||
10
skuma
31.10.19
✎
15:58
|
перекинул на D, начало находиться. Всем спасибо за помощь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |