Имя: Пароль:
1C
1С v8
Отладка веб сервиса
0 almarbam
 
19.10.13
01:41
Доброго времени суток. Не могу понять в чем ошибка. По отладчику посмотреть не могу, потому что все происходит в веб сервисе.

Функция НачатьОбмен(КодМобильногоКомпьютера, НаименованиеМобильногоКомпьютера, НомерОтправленного, НомерПринятого, Версия)
    Если Число(Версия) <> 2 Тогда
        ВызватьИсключение(НСтр("ru='Требуется обновление мобильного приложения!'"));
    КонецЕсли;
    //Если НЕ ПравоДоступа("Чтение", Метаданные.ПланыОбмена.Мобильные) Тогда
    //    
    //    ВызватьИсключение(НСтр("ru='У пользователя ""'") + Пользователи.ТекущийПользователь() + НСтр("ru='"" нет прав на синхронизацию данных с приложением 1С:Заказы'"));
    //    
    //КонецЕсли;
    УстановитьПривилегированныйРежим(Истина);
    УзелОбмена = ПланыОбмена.Мобильные.ЭтотУзел().ПолучитьОбъект();
    Если Не ЗначениеЗаполнено(УзелОбмена.Код) Тогда
        УзелОбмена.Код="001";
        УзелОбмена.Наименование="Центральный";
        УзелОбмена.Записать();
    КонецЕсли;
    УзелОбмена = ПланыОбмена.Мобильные.НайтиПоКоду(КодМобильногоКомпьютера);
    Если УзелОбмена.Пустая() Тогда
        НовыйУзел = ПланыОбмена.Мобильные.СоздатьУзел();
        НовыйУзел.Код = КодМобильногоКомпьютера;
        НовыйУзел.Наименование = НаименованиеМобильногоКомпьютера;
        НовыйУзел.НомерОтправленного = НомерОтправленного;
        НовыйУзел.НомерПринятого = НомерПринятого;
        НовыйУзел.Записать();
        ОбменМобильныеПереопределяемый.ЗарегистрироватьИзмененияДанных(УзелОбмена);
        УзелОбмена = НовыйУзел.Ссылка;
    Иначе
        Если УзелОбмена.ПометкаУдаления ИЛИ            
             УзелОбмена.Наименование <> НаименованиеМобильногоКомпьютера Тогда
            Узел = УзелОбмена.ПолучитьОбъект();
            Узел.ПометкаУдаления = Ложь;
            Узел.Наименование = НаименованиеМобильногоКомпьютера;
            Узел.Записать();
        КонецЕсли;
        Если УзелОбмена.НомерОтправленного <> НомерОтправленного ИЛИ
             УзелОбмена.НомерПринятого <> НомерПринятого Тогда
            Узел = УзелОбмена.ПолучитьОбъект();
            //Узел.НомерОтправленного = НомерОтправленного;
            //Узел.НомерПринятого = НомерПринятого;
            Узел.Записать();
            ОбменМобильныеПереопределяемый.ЗарегистрироватьИзмененияДанных(УзелОбмена);
        КонецЕсли;
    КонецЕсли;
КонецФункции

Процедура ЗарегистрироватьИзмененияДанных(УзелОбмена) Экспорт
    СоставПланаОбмена = УзелОбмена.Метаданные().Состав;
    Для Каждого ЭлементСоставаПланаОбмена Из СоставПланаОбмена Цикл
        ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, ЭлементСоставаПланаОбмена.Метаданные);
    КонецЦикла;
КонецПроцедуры


При выполнении пишет:

{ОбщийМодуль.ОбменМобильныеПереопределяемый.Модуль(144)}: Ошибка при вызове метода контекста (НачатьОбмен)
    Прокси.НачатьОбмен(КодМобильногоКомпьютера,
по причине:
Ошибка вызова операции сервиса:
{ОбщийМодуль.ОбменМобильныеПереопределяемый.Модуль(190)}: Ошибка при вызове метода контекста (ЗарегистрироватьИзменения)
по причине:
Недопустимое значение параметра (параметр номер '1')
1 zva
 
19.10.13
07:15
Если УзелОбмена.Пустая() Тогда
...
ОбменМобильныеПереопределяемый.ЗарегистрироватьИзмененияДанных(УзелОбмена);
        УзелОбмена = НовыйУзел.Ссылка;

Поменяй две строчки местами
2 Ksandr
 
19.10.13
12:05
(0) веб сервис не помеха отладчику
3 almarbam
 
19.10.13
13:10
А как запустить отладчик в веб сервисе? Насчет поменять строчки местами не понял логики.
4 almarbam
 
19.10.13
13:20
Насчет строчек поменял. Но не помогает.
5 almarbam
 
19.10.13
14:18
Спасибо. Отладку запустил. Думаю разберусь.
6 almarbam
 
19.10.13
14:26
Нет, все равно не могу понять.

ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена, ЭлементСоставаПланаОбмена.Метаданные);

Упорно пишет что неверное значение параметра 1. Но УзелОбмена - УзелОбменаСсылка.Компьютер.

Хорошо. Заюзал подсказку. Но туда и передаётся УзелОбменаСсылка.<НаименованеиеУзла>.
7 almarbam
 
19.10.13
14:34
перепутал узел обмена с планамиобмена =) извиняюсь =)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший