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

Открытие файла, лежащего на компе, с сервера

Открытие файла, лежащего на компе, с сервера
Я
   TiARETiK
 
12.04.21 - 21:26
Привет миста! Доделал я стало-быть задание ( Спасибо всем, кто помогал), проверил работоспособность, выслал. Прилетел мне ответ. Во первых, припахали переделать говнокод в неговнокод, что было внезапно, но проблем особых не составило. Однако помимо этого прислали скрин с ошибкой, мол, "Каталог не обнаружен!", и сказали, что такое случается при запуске обработки на серверной базе. И я б покопался, может, и решил-бы сам, да вот только версия 1С для обучения программированию не могЕт в создание баз на сервере. А экспириэнс мой в установке пиратских одинэсок чертовски неприятен. Отсюда вопрос: может, объяснит мне кто, как перепилить код, грузящий мне файл, в нечто, что сможет работать и с сервера? ( Ниже то, как это выглядит ныне)

// Получает ссыль на тпбличный документ, который надобно заполнить. Загружает в него соответсвующий запросу лист.
&НаСервере
Процедура ОткрытьФайл( Таблица)
    
    Темп = Новый ТабличныйДокумент;
    
    Темп.Прочитать( ПутьКФайлу);
    
    Таблица = Темп.ПолучитьОбласть( Темп.Области[ НомерЛиста - 1].Имя);
    
КонецПроцедуры
   TiARETiK
 
1 - 12.04.21 - 21:26
(0) Открывает нужный лист файла, если что.
   Garykom
 
2 - 12.04.21 - 21:29
(0) файл с клиента передается на сервер асинхронно и не модально там сохраняется в темп открывается юзается после из темпа удаляется как не нужен
   Garykom
 
3 - 12.04.21 - 21:31
и да на работу тя если и возьмут то за тарелку супа и будешь ближайшие два года нервы себе того
   Михаил Козлов
 
4 - 12.04.21 - 21:50
Примерно так:
&НаКлиенте
Процедура ЗагрузитьДанные(Команда)
    
    АдресФайлаВоВременномХранилище = "";    
    ОписаниеОповещения = Новый ОписаниеОповещения("ЗагрузитьДанныеЗавершение", ЭтотОбъект);
    Объект.ВыбранноеИмяФайла = "";
    НачатьПомещениеФайла(ОписаниеОповещения, АдресФайлаВоВременномХранилище, Объект.ВыбранноеИмяФайла,, УникальныйИдентификатор);    
    
КонецПроцедуры

&НаКлиенте
Процедура ЗагрузитьДанныеЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
    
    Если Результат Тогда
    
        Объект.ВыбранноеИмяФайла = ВыбранноеИмяФайла;
        Файл = Новый Файл(ВыбранноеИмяФайла);
        Если Не Файл.Существует() Тогда
            
            ТекстСообщения = Нстр("ru = 'Указанный файл не существует'");
            СообщитьПользователю(ТекстСообщения);
            Возврат;
            
        КонецЕсли;
        
        ЗагрузитьДанныеНаСервере(Адрес, Файл.Расширение);
    
    КонецЕсли;
    
КонецПроцедуры

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

    
КонецПроцедуры
   Chameleon1980
 
5 - 12.04.21 - 21:54
Опять ты
Зачем ветки плодить?
Ч тебе в прошлой ветке готовую обработку
Дал в клиент серверном варианте
   TiARETiK
 
6 - 12.04.21 - 21:57
(5) Волшебник на предыдущую ругался, мол от темы отошли, я решил что ветки надо генерить активно.
   TiARETiK
 
7 - 12.04.21 - 21:58
(4) Спасибо! Изучаю. Как изучу, буду пытаться применить.
   TiARETiK
 
8 - 12.04.21 - 21:59
(3) Нуу... Если у тебя есть встречное предложение, с зарплатой из двух мисок спуа, до я с радостью выслушаю. А иначе - чем богаты, как говорится.
   Garykom
 
9 - 12.04.21 - 23:02
(8) Встречное предложение не ходи в 1С! Ходи во что угодно другое там и проще и денег больше

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