Имя: Пароль:
1C
 
Вызов процедуры в Web клиенте
0 antihacker
 
27.01.15
07:59
Всем привет !

Вот код работающий в толстом клиенте.

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

&НаСервере
Процедура ОбработатьВыборФайла(Резльтат,Адрес,ВыбранноеИмяФайла,ДополнительныйПараметры) Экспорт
    
    Если Не Резльтат Тогда
        Возврат;
    КонецЕсли;
    Строка=Объект.ТЧПрикрепленныеФайлы.Добавить();
    //---Имя файла----------------------
    ВыбранноеИмяФайла=СтрЗаменить(ВыбранноеИмяФайла,"\",Символы.ПС);
    Текстарь=Новый ТекстовыйДокумент;
    Текстарь.УстановитьТекст(ВыбранноеИмяФайла);
    Строка.ИмяФайла= Текстарь.ПолучитьСтроку(Текстарь.КоличествоСтрок());
    //---Адрес временного хранилища-----
    Строка.АдресФайла=Адрес;
    //---Сам файл-----------------------
    //Строка.ПрикрепленныйФайл = Новый ХранилищеЗначения(Новый  ХранилищеЗначения(ПолучитьИзВременногоХранилища(Адрес)), Новый СжатиеДанных(9));
    //---Размер файла-------------------    
    Строка.Размерфайла=Цел((СтрДлина(Base64Строка(ПолучитьИзВременногоХранилища(Адрес)))*0.73)/1024);

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

В тонком клиенте, то есть через веб клиент пишет
метод объекта не обнаружен (ОбработатьВыборФайла). Какие то нюансы связанные с тонким клиентом. Но что не могу понять. Думал все что работает в толстом клиенте будет работать в веб клиент ни  смотря на что управляемый режим. Ошибься по ходу.
1 Провинциальный 1сник
 
27.01.15
08:08
А как вы себе представляете, оповещение на клиенте, а вызывается серверная процедура? Сделайте клиентскую обертку, и там уж вызывайте сервер..
2 antihacker
 
27.01.15
08:40
Дааа тупая башка ! Все верно

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

    //***********Создаем исходящее письмо****************
    ВходящееПисьмо=Документы.ВходящееПисьмо.СоздатьДокумент();
    //---Дата--------------------
    ВходящееПисьмо.Дата=ТекущаяДата();    
    //---Тема--------------------
    ВходящееПисьмо.ТемаПисьма=ТекущийОбъект.ТемаПисьма;
    //---Письмо------------------
    ВходящееПисьмо.Письмо=Новый ХранилищеЗначения(ТекстПисьма, Новый СжатиеДанных(9));

    //---Автор-------------------
    ВходящееПисьмо.Автор=ОМПользователи.ТекущийПользователь();
    
    //---Список получателей------
    Для Каждого Строка Из ТекущийОбъект.ТЧПолучатели Цикл
        
        Если ЗначениеЗаполнено(Строка.Пользователи) Тогда
            
        НоваяСтрока=ВходящееПисьмо.ТЧПолучатели.Добавить();    
        НоваяСтрока.Пользователи=Строка.Пользователи;
        НоваяСтрока.ДолжностьПользователя=Строка.Пользователи;
        
        КонецЕсли;
    
    КонецЦикла;
    //---Список файлов-----------
    Для Каждого Строка Из ТекущийОбъект.ТЧПрикрепленныеФайлы Цикл
        Если Строка.АдресФайла<>"" Тогда

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

    
    //    ////--Создаем отложенное письмо--
    //ОтложенноеПисьмо=Документы.ОтложенноеПисьмо.СоздатьДокумент();
    ////---Дата--------------------
    //ОтложенноеПисьмо.Дата=ТекущаяДата();    
    ////---Тема--------------------
    //ОтложенноеПисьмо.ТемаПисьма=Объект.ТемаПисьма;
    ////---Письмо------------------
    //ОтложенноеПисьмо.Письмо=Новый ХранилищеЗначения(ТекстПисьма, Новый СжатиеДанных(9));        
    ////---Автор-------------------
    //ОтложенноеПисьмо.Автор=ОМПользователи.ТекущийПользователь();
    //
    ////---Список получателей------
    //Для Каждого Строка Из ТекущийОбъект.ТЧПолучатели Цикл
    //    
    //НоваяСтрока=ОтложенноеПисьмо.ТЧПолучатели.Добавить();    
    //НоваяСтрока.Пользователи=Строка.Пользователи;
    //НоваяСтрока.ДолжностьПользователя=Строка.ДолжностьПользователя;
    //
    //КонецЦикла;
    ////---Список файлов-----------
    //Для Каждого Строка Из ТекущийОбъект.ТЧПрикрепленныеФайлы Цикл
    //    
    //НоваяСтрока=ОтложенноеПисьмо.ТЧПрикрепленныеФайлы.Добавить();    
    //НоваяСтрока.ИмяФайла=Строка.ИмяФайла;    
    //НоваяСтрока.РазмерФайла=Строка.РазмерФайла;    
    //
    //НоваяСтрока.ПрикрепленныйФайл=Новый ХранилищеЗначения(Новый  ХранилищеЗначения(ПолучитьИзВременногоХранилища(Строка.АдресФайла)), Новый СжатиеДанных(9));        
    //КонецЦикла;     

    //ОтложенноеПисьмо.Записать(РежимЗаписиДокумента.Запись);    

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

&НаКлиенте
Процедура ОбработатьВыборФайла1(Резльтат,Адрес,ВыбранноеИмяФайла,ДополнительныйПараметры)   Экспорт

ОбработатьВыборФайла(Резльтат,Адрес,ВыбранноеИмяФайла,ДополнительныйПараметры);    

конецпроцедуры

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

//проверка();

Оповещение=Новый ОписаниеОповещения("ОбработатьВыборФайла1",ЭтотОбъект);
//Вызываем Диалоговое окно и помещаем файл Картинки из локальной файловой системы во временное хранилище
НачатьПомещениеФайла(Оповещение, , , Истина, УникальныйИдентификатор);



КонецПроцедуры
3 antihacker
 
27.01.15
08:41
Извините слишком много не нужных ушло
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн