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

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

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

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

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