Имя: Пароль:
1C
1С v8
Ошибка в передаче объекта XDTO
0 Alex_MA
 
24.04.12
14:26
Всем доброго дня!

Создал пакет XDTO, в нем объект, у него свойства.
Данный объект является параметром функции одного web сервиса.
Передаю объект XDTO в параметры функции web сервиса программа начинает ругаться, что не заполнено одно из полей объекта XDTO.

Ладно, зашел в свойство объекта XDTO и выставил ему свойство "Возможно постое" - попробовал опять передать в функцию - та же самая ошибка.
Проставил свойству значение по умолчанию - та же ошибка.

Проинициализировал свойства в коде - все заработало.

Функция ЗаполнитьXDTOОбъектКонтрагенты(Прокси, Источник, ЭтоНовый)
   
   СсылкаНового = Неопределено;
   
   Если ЭтоНовый Тогда
       //Перед записью присвоим Источнику свой уникальный идентификатор
       СсылкаНового = Справочники[Источник.Метаданные().Имя].ПолучитьСсылку();
       Источник.УстановитьСсылкуНового(СсылкаНового);                
   Иначе    
       СсылкаНового = Источник;
   КонецЕсли;
   
   DMObject                = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/dm", "vscRefCounterpart"));
   
   DMObject.name           = Источник.Наименование;
   DMObject.rem_mark       = Источник.ПометкаУдаления;
   DMObject.comment        = Источник.Комментарий;
   DMObject.isfolder       = Истина;
   
   Если Не Источник.ЭтоГруппа Тогда
       
       DMObject.name_full      = Источник.НаименованиеПолное;
       DMObject.inn            = Источник.ИНН;
       DMObject.kpp            = Источник.КПП;
       DMObject.face           = ПолучитьИмяПеречисленияПоСсылке(Источник.ЮрФизЛицо);
       DMObject.isfolder       = Ложь;
       
       
       //Контактная информация
       Для Каждого ТекСтр Из Источник.vsc_СП_КонтактнаяИнформация Цикл
           XDTOОбъектКонтактнаяИнформация   = ЗаполнитьXDTOОбъектСтрокаКонтактнойИнформации(Прокси, ТекСтр);
           DMObject.сontact_Info.Добавить(XDTOОбъектКонтактнаяИнформация);    
       КонецЦикла;    
       
   Иначе    
       
       //Все реквизиты пустые
       DMObject.name_full      = "";       //ИНИЦИАЛИЗАЦИЯ
       DMObject.inn            = "";       //ИНИЦИАЛИЗАЦИЯ  
       DMObject.kpp            = "";       //ИНИЦИАЛИЗАЦИЯ
       DMObject.face           = "";       //ИНИЦИАЛИЗАЦИЯ
       
       //Строка контактной информации
       vscRowContactInfo                = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/dm", "vscRowContactInfo"));
       vscRowContactInfo.type           = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.kind           = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.description    = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.value_fields   = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.country        = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.region         = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.city           = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.adress_ep      = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.domen_name_srv = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.phone_full     = ""; //ИНИЦИАЛИЗАЦИЯ
       vscRowContactInfo.phone          = ""; //ИНИЦИАЛИЗАЦИЯ
   
       DMObject.сontact_Info.Добавить(vscRowContactInfo);
       
   КонецЕсли;    
   
   //Установить иерархию справочника
   УстановитьXDTOИерархиюСправочника(DMObject, Источник, Прокси);
   
   //Свойство objectId, идентификатор объекта
   DMObjectID              = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/dm", "DMObjectID"));
   
   Если ЭтоНовый Тогда
       GUID = Строка(СсылкаНового.УникальныйИдентификатор());    
   ИначеЕсли ТипЗнч(Источник) = Тип("СправочникСсылка.Контрагенты") Тогда
       GUID = Строка(Источник.УникальныйИдентификатор());    
   ИначеЕсли ТипЗнч(Источник) = Тип("СправочникОбъект.Контрагенты") Тогда    
       GUID = Строка(Источник.Ссылка.УникальныйИдентификатор());    
   КонецЕсли;
   
   DMObjectID.id           = GUID;
   DMObjectID.type         = "vscRefCounterpart";
   
   DMObject.objectID       = DMObjectID;
   
   
   Возврат DMObject;
   
КонецФункции

Вопрос: Выставление этих свойств не работает ?
1 Alex_MA
 
24.04.12
15:20
подниму
2 Alex_MA
 
24.04.12
16:01
подъем
3 Alex_MA
 
24.04.12
20:33
апну ?
4 Alex_MA
 
25.04.12
07:43
подъем
5 Alex_MA
 
25.04.12
09:59
апну ?
6 Alex_MA
 
25.04.12
09:59
видимо надо писать в тех. поддержку
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший