таким образом загружаю файл:
Вот таким образом читаю на сервере:
БД локальная.
Но получаю такую ошибку:
&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Проводник = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Проводник.Заголовок="Выбрать файл: ";
Если Объект.ФорматФайла="XLSX" Тогда
Фильтр="Файл Excel (*.xlsx)| *.xlsx";
Иначе
Возврат;
КонецЕсли;
Проводник.Фильтр=Фильтр;
Оповещение = Новый ОписаниеОповещения("ПослеВыбораФайла",ЭтотОбъект);
Проводник.Показать(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыбораФайла(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
Если ВыбранныеФайлы = Неопределено Тогда
Возврат;
КонецЕсли;
Объект.ПутькФайлам=ВыбранныеФайлы[0];
КонецПроцедуры
ПоказатьВот таким образом читаю на сервере:
&НаКлиенте
Процедура ПрочитатьФайлы(Команда)
Объект.ДанныеФайла.Очистить();
Если Объект.ФорматФайла="XLS" Тогда
ПрочитатьФайл_XLS();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПрочитатьФайл_XLS_НаСервере(АдресДанных)
ТабДок= Новый ТабличныйДокумент;
Данные= ПолучитьИзВременногоХранилища(АдресДанных);
ПутьКФайлуНаСервере=ПолучитьИмяВременногоФайла("xlsx");
Данные.Записать(ПутьКФайлуНаСервере);
Попытка
ТабДок.Прочитать(ПутьКФайлуНаСервере, СпособЧтенияЗначенийТабличногоДокумента.Значение);
Исключение
Сообщение= Новый СообщениеПользователю;
Сообщение.Текст="Файл не найден" + ОписаниеОшибки();
Сообщение.Сообщить();
Возврат;
КонецПопытки;
КоличествоСтрок= ТабДок.ВысотаТаблицы;
Для НомерСтроки=2 По КоличествоСтрок Цикл
СтрокаДанных=Объект.ДанныеФайла.Добавить();
СтрокаДанных.Номенклатура=Справочники.Товары.НайтиПоНаименованию(ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0") + "C"+1).ТекущаяОбласть.Текст);
КонецЦикла;
КонецПроцедуры
Показать&НаКлиенте
Процедура ПрочитатьФайл_XLS()
ДанныеФайла2= Новый ДвоичныеДанные(Объект.ПутьКФайлам);
АдресДанных=ПоместитьВоВременноеХранилище(ДанныеФайла2);
ПрочитатьФайл_XLS_НаСервере(АдресДанных);
КонецПроцедуры
Вот таким образом получаю данные из БД:
&НаСервере
Процедура АнализНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТЧ.Номенклатура КАК Номенклатура
|ПОМЕСТИТЬ ВТ_ТЧ
|ИЗ
| &ТЧ КАК ТЧ
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ВТ_ТЧ.Номенклатура КАК Номенклатура,
| ОстаткиОстатки.Товар.Ссылка КАК ТоварСсылка,
| ОстаткиОстатки.КолОстаток КАК КолОстаток
|ИЗ
| ВТ_ТЧ КАК ВТ_ТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остатки.Остатки КАК ОстаткиОстатки
| ПО ВТ_ТЧ.Номенклатура = ОстаткиОстатки.Товар.Наименование
|
|СГРУППИРОВАТЬ ПО
| ВТ_ТЧ.Номенклатура,
| ОстаткиОстатки.Товар.Ссылка,
| ОстаткиОстатки.КолОстаток";
Запрос.УстановитьПараметр("ТЧ", Объект.ДанныеФайла.Выгрузить());
Объект.ДанныеФайла.Загрузить(Запрос.Выполнить().Выгрузить());
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Объект.ДанныеФайла.Очистить();
Пока Выборка.Следующий() Цикл
ТабЧасть=Объект.ДанныеФайла.Добавить();
ТабЧасть.Номенклатура=Выборка.Номенклатура;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура Анализ(Команда)
АнализНаСервере();
КонецПроцедуры
ПоказатьБД локальная.
Но получаю такую ошибку:
Прикрепленные файлы:
По теме из базы знаний
- Универсальное средство чтения файлов Excel
- Сохранение (чтение) настроек внешней обработки в файл (управляемые формы)
- Импорт справочников из Инфо-Предприятие 1.91 в БП2.0/ЗУП2.5 (из файлов *.db или *.xls/*.xlsx)
- Асинхронная запись и чтение файла без использования модальных методов и временных файлов
- При создании РИБ с расширением может выйти ошибка: "Не удалось создать начальный образ по причине: Аварийно завершился рабочий процесс фонового задания"
Найденные решения
(1) что-то код не соответствует скринам,
Если Объект.ФорматФайла="XLSX" Тогда
Фильтр="Файл Excel (*.xlsx)| *.xlsx";
Иначе
Возврат;
КонецЕсли;
Фильтр="Файл Excel (*.xlsx)| *.xlsx";
Иначе
Возврат;
КонецЕсли;
Если Объект.ФорматФайла="XLS" Тогда
ПрочитатьФайл_XLS();
КонецЕсли;
ПрочитатьФайл_XLS();
КонецЕсли;
ПутьКФайлуНаСервере=ПолучитьИмяВременногоФайла("xlsx");
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) что-то код не соответствует скринам,
Если Объект.ФорматФайла="XLSX" Тогда
Фильтр="Файл Excel (*.xlsx)| *.xlsx";
Иначе
Возврат;
КонецЕсли;
Фильтр="Файл Excel (*.xlsx)| *.xlsx";
Иначе
Возврат;
КонецЕсли;
Если Объект.ФорматФайла="XLS" Тогда
ПрочитатьФайл_XLS();
КонецЕсли;
ПрочитатьФайл_XLS();
КонецЕсли;
ПутьКФайлуНаСервере=ПолучитьИмяВременногоФайла("xlsx");
(5) https://forum.infostart.ru/forum9/topic301271/
что-то код не соответствует скринам
Код - фигня, у этого автора кое-что посерьезнее "не соответствует":
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот