8.х Ошибка выгрузка из Exel в 1С

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Shvetka, 4 май 2012.

  1. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    судя по скрину, файл именно на локальной машине..... на счет отладчика на сервере - не могу ничего сказать,но думаю можно передать в процесе выполнения кода путь к файлу именно с сервера на клиента и посмотреть куда платформа обращается в поисках вашего документа xls
  2. cvmbackup
    Offline

    cvmbackup

    Регистрация:
    13 фев 2012
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Логично-правельное решение будет если файл xls будет лежать на общедоступном файл сервре к которому путь будет идентичен как со стороны клиента так и со стороны сервера. Или действительно загружать из xls сначало на клиент в массив значений а после передавать на сервер (однако нужно учесть что при таком подходе будет происходить объемная передача данных по сети) .
  3. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    1. Если у Вас запущен сервер 1С и база крутится на нем, то отладка со стороны сервера не доступна (не надо путать с отладкой серверных процедур в файловом режиме, в таком случае клиент эмулирует работу сервера, по-этому в файловом режиме отладка возможна)
    2. Процедура ЗагрузитьАктивыИзФайла() не получает параметр ИмяФайла от клиента, в тоже время Объект не может быть одновременно доступен со стороны клиента и со стороны сервера.
    Думаю код будет выглядеть примерно так
    Код:
    Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогВыбораФайла.Фильтр = "Файл данных (*.xls)|*.xls|Файл данных (*.xlsx)|*.xlsx";
    ДиалогВыбораФайла.Расширение = "xlsx";
    ДиалогВыбораФайла.Заголовок = "Выберите файл";
    ДиалогВыбораФайла.ПредварительныйПросмотр = Ложь;
    ДиалогВыбораФайла.ИндексФильтра = 0;
    ДиалогВыбораФайла.ПолноеИмяФайла = Объект.ИмяФайла;
    ДиалогВыбораФайла.ПроверятьСуществованиеФайла = Истина;
    
    Если ДиалогВыбораФайла.Выбрать() Тогда
    
    Документ = Новый ДвоичныеДанные(ДиалогВыбораФайла.ПолноеИмяФайла);
    // параметр от 0 до 9, 0 не сжимать 
    РеквизитХранилищеЗначения = Новый ХранилищеЗначения(Документ, Новый СжатиеДанных(9))
    // передаем двоичные данные на сервер
    ЗагрузитьАктивыИзФайла(РеквизитХранилищеЗначения);
    
    КонецПопытки;
    
    КонецЕсли;
    
    КонецПроцедуры
    
    Со стороны сервера получаете уже сам файл и работаете с ним

Поделиться этой страницей