Имя: Пароль:
1C
1С v8
Бух 3 (тонкий клиент). Непонятная ошибка
,
0 live in sky dreams
 
17.08.16
11:37
Сервер: Debian 8 (Postgresql+1С сервер)
Клиент: Win7 32
Тонкий клент
Универсальный обмен данными в формате XML (режим: на клиенте).
Загрузка данных из УТ 10.
Путь к файлу: D:\tmp\123.xml

Ошибка: "Преобразование к типу число не может быть выполнено".
Отсылка в конфигуратор на определение длины имени файла, где имя файла почему то "" и соответственно, позицию точки из имени файла "" он не определил.

Отсюда ошибка "Преобразование к типу число не может быть выполнено"


Начиная с процедуры

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


В данном случае ЭтоКлиент=Истина.
Система помещает файл обмена в хранилище, запускает процедуру, функцию...... доходим до ИмяФайлаНаСервереИлиКлиенте(...)
И в ней в параметре ИмяФайлаДляРасширения = ""

Отсюда и ошибка.
Пытался отследить откуда все это тянется - вроде как из "ВыполнитьЗагрузкуИзФормы()"
А именно: ВыполнитьЗагрузкуИзФормыЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) которая отрабатывает на клиенте (отладчик не цепляет НаКлиенте) а вызывается как оповещение после помещение файла в хранилище.
Не вижу, чтобы в эту процедуру передавался параметр "ВыбранноеИмяФайла".
Как понять вообще что происходит, почему выбранное имя файла пустое? Есть какой то способ отлаживать процедуры "НаКлиенте"?
1 live in sky dreams
 
17.08.16
11:46
Вот тут вот

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


Каким образом передается имя файла процедуре ВыполнитьЗагрузкуИзФормыЗавершение?

Оно идет в указанной процедуре третим параметром:
&НаКлиенте
Процедура ВыполнитьЗагрузкуИзФормыЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
    
    Если Результат Тогда
        
        Состояние(НСтр("ru = 'Выполняется загрузка данных. Пожалуйста, подождите...'"));
        ВыполнитьЗагрузкуНаСервере(Адрес, ВыбранноеИмяФайла);
        
        ОткрытьДанныеПротоколовОбменаПриНеобходимости();
        
    КонецЕсли;
    
КонецПроцедуры
2 live in sky dreams
 
17.08.16
11:50
А, туплю...
Понял как, СП помог..

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

параметр "ВыбранноеИмяФайла" равен ""

Интересно почему..
3 live in sky dreams
 
17.08.16
11:50
Или чему он равен... как подцепиться отладчиком к процедуре "НаКлиенте"?
4 Sj
 
17.08.16
11:54
Отладка - Подключение
5 Sj
 
17.08.16
11:55
но сначала включи через Сервис- Параметры - Отладка в текущем сеансе
6 live in sky dreams
 
17.08.16
12:00
(4)(5) = это все сделано...
Галка в (5) стоит
в (4) Подключенные предметы отладки 2 строки:
Сервер, тонкий клиент
7 live in sky dreams
 
17.08.16
12:00
по всем процедурам "НаСервере" отладчик цепляется
8 live in sky dreams
 
17.08.16
12:07
Обработка типовая, не переписанная ни в одном месте.
Значит проблема с помещением файла в хранилище.
А вот какая именно проблема узнать не представляю как.
9 live in sky dreams
 
17.08.16
12:20
Блджад!

Сохранил универсальный обмен данными в формате xml как внешку. Запустил оттуда загрузку.
ЭТА ТВАРЬ НИ НА ЧТО НЕ РУГАЕТСЯ!!!!!!!!
Чо происходит?
10 live in sky dreams
 
17.08.16
12:23
Запустил из конфы обработку - тоже отработало, ни на что не ругнулась...
В отладчике цепанулит бздыни в "НаКлиенте"....
11 live in sky dreams
 
17.08.16
12:24
"Батюшки, чо делацца та"

Как то все это странно и подозрительно
12 live in sky dreams
 
17.08.16
12:38
Может подскажет кто... Зачем из интерфейса убрали "Универсальный обмен данными"?
13 Sj
 
17.08.16
12:39
так в обработках же он остался
14 Sj
 
17.08.16
12:41
если отладчик не цепляет на клиенте, закрой 1С предприятие и снова открой в режиме отладки. все может быть.
15 live in sky dreams
 
17.08.16
12:44
(13) пользовтелю пол часа объяснял как банк загрузить.
Точнее не как, а почему так через ж...у
Не вариант ее как-то в интерфейс вывести?
16 Sj
 
17.08.16
13:02
банк же грузится не через универсальный
17 live in sky dreams
 
17.08.16
15:33
(16)грузят в торговлю, оттуда тянут через обмен в бух
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.