1С: Работа с Excel (1 часть)

Aug 15, 2022 15:25

СПОСОБ ПОИСКА НАИМЕНОВАНИЙ СВОЙСТВ И МЕТОДОВ VBA EXCEL С ПОМОЩЬЮ ЗАПИСИ МАКРОСОВНа практике часто случается, что нужно решить какую-либо задачу, иногда довольно тривиальную с точки зрения пользователя Excel (к примеру изменить фон ячейки в Excel, добавить левую границу и т.д.), а решение в сети/документации искать не хочется или не получается, ( Read more... )

программирование

Leave a comment

luckyea77 July 6 2023, 15:32:07 UTC
При работе в клиент-серверном варианте, клиент и сервер чаще всего на разных компьютерах и это необходимо учитывать при разработке обработок для загрузки данных из файлов. Многие процедуры можно выполнять исключительно на стороне сервера, поэтому необходимо правильно передавать информацию на сервер. Пример правильной передачи данных между клиентом и сервером:

&НаКлиенте
Процедура ОткрытьФайл(Команда)

ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);

ДиалогВыбораФайла.Заголовок = "Прочитать табличный документ из файла";
ДиалогВыбораФайла.Фильтр = "Лист Excel 2007+ (*.xlsx)|*.xlsx| Лист Excel 2003 (*.xls)|*.xls|";

Если ДиалогВыбораФайла.Выбрать() Тогда
Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ДиалогВыбораФайла.ПолноеИмяФайла));
ЗагрузитьТабличныйДокументИзФайла(Адрес, ДиалогВыбораФайла.ПолноеИмяФайла);
КонецЕсли;

КонецПроцедуры

&НаСервере
Процедура ЗагрузитьТабличныйДокументИзФайла(Адрес, ИмяФайла)

//Необходимо чтение файлов XLS или XLSX
Расширение = Прав(ИмяФайла, 4);
Расширение = СтрЗаменить(Расширение, ".", "");

ФайлПриемник = ПолучитьИмяВременногоФайла(Расширение);
ДанныеХранилища = ПолучитьИзВременногоХранилища(Адрес);
ДанныеХранилища.Записать(ФайлПриемник);

ТабличныйДокумент.Очистить();
ТабличныйДокумент.Прочитать(ФайлПриемник);

КонецПроцедуры

Источник: https://1c-bz.ru/programming/232/

Reply


Leave a comment

Up