Вход | Регистрация



Расшифровка ОбъектXDTO

Расшифровка ОбъектXDTO
Я
   falselight
 
05.06.18 - 05:01
При чтении xml один объект представляется как ОбъектXDTO
и его никак не развернуть как некоторые другие.
Как сейчас можно получить его настоящее значение, а не строку
ОбъектXDTO ?
Попытка СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,"");    Исключение СпрОбъект.Гост = "";    КонецПопытки;
 
 
   falselight
 
1 - 05.06.18 - 05:17
Получается что в xml пришел не верный объект, не расшивровываемый?
   catena
 
2 - 05.06.18 - 05:26
Смотри: открываешь СП, находишь там ОбъектXDTO. Внимательно читаешь. Проверяешь прочитанное на своем объекте. Если ничего не помогает, идешь к отправителю и так ему и говоришь: я такое не умею.
   falselight
 
3 - 05.06.18 - 06:00
productItem.gost.Тип() показало

{http://www.w3.org/2001/XMLSchema}anyType


Можно ли как то получить значение? Или это не о чем не говорит?
   falselight
 
4 - 05.06.18 - 06:02
productItem.gost.Получить()

или

productItem.gost.ПолучитьXDTO()


пишет не достаточно фактических параметров.
Но я не знаю какие нужно параметры передавать?
Получить нужно Гост.
   RomaH
 
5 - 05.06.18 - 08:01
текст XML покажи - что там
   falselight
 
6 - 05.06.18 - 08:31
   falselight
 
7 - 05.06.18 - 08:35
(5) Так идет в самом xml файле
<dt:correspondsToGost>false</dt:correspondsToGost>

<dt:gost/>
   RomaH
 
8 - 05.06.18 - 09:46
так он пустой - совсем

<dt:gost/>
   falselight
 
9 - 05.06.18 - 11:04
(8) Нужно сейчас обработать что бы в поле не вставало
    строковое значение ОбъектXDTO.
    Как это правильно можно сделать?
   RomaH
 
10 - 05.06.18 - 11:58
если gost заполнен будет - в нем будут реквизита (или как их там)

проверяй на наличие реквизита (ЕстьРеквизитОбъекта)
 
 Рекламное место пустует
   RomaH
 
11 - 05.06.18 - 11:59
или я вопрос не понял
в (0) же рабочий код?
   falselight
 
12 - 05.06.18 - 17:25
(11) Да.

Мне сейчас нужно сделать что бы в строковое поле в 1с
не попадало значение ОбъектXDTO.

Вот отрезок XML. Гост значение пустое. Но как это определить?????

Обработать как если в productItem.gost строка "ОбъектXDTO"
тогда писать пустое значение?

Можно ли как то иначе это прочитать средствами чтения xml ?
   falselight
 
13 - 05.06.18 - 17:26
   falselight
 
14 - 06.06.18 - 07:19
Подскажите пожалуйста как разобраться с Гост (gost)
из этого XML? Бывает оно пустое, и в поле 1с справочника
записывается значение строки "ОбъектXDTO" что не нужно.
Либо значение gost у productItem.gost вообще отсутствует.
Тогда ничего не пишется в поле.
Как правильно разобрать этот xml (13) по госту. Что бы
писался только гост верный, и не писались не нужные данные.

Сейчас строка обработки значения Гост такая (но она
пропускает не нужные строковые значения "ОбъектXDTO"), -

Попытка СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,"");    Исключение СпрОбъект.Гост = "";    КонецПопытки;
   RomaH
 
15 - 06.06.18 - 07:24
может это:
<dt:correspondsToGost>false</dt:correspondsToGost>
если ложь - то ГОСТа нет

или такой костыль:
Если ГОСТ =  "ОбъектXDTO" Тогда
   ГОСТ = "";
КонецЕсли;
   falselight
 
16 - 06.06.18 - 07:27
(15) Пока пробую так, но есть же правильные решения, а есть нет. Если соответствует госту = фальшь, уже наверное  
можно не обрабатывать.
И так же как вы сказали проверять, если в строке
"ОбъектXDTO" тоже не учитывать.
Я думал этот ОбъектXDTO нужно как то расшифровать.
        Попытка СпрОбъект.СоответствуетГОСТу = ?(productItem.correspondsToGost="true",1,0);    Исключение СпрОбъект.СоответствуетГОСТу = 0; КонецПопытки;
        Если productItem.correspondsToGost = "true" Тогда
            Попытка 
                СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,"");    
            Исключение 
                СпрОбъект.Гост = "";    
            КонецПопытки;
        КонецЕсли;
   RomaH
 
17 - 06.06.18 - 07:28
вот это чем не устраивает?
СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,"");
   RomaH
 
18 - 06.06.18 - 07:29
(16) попытку лучше убрать - проверять на наличие реквизита перед обращением
   catena
 
19 - 06.06.18 - 07:37
(16)Ну ты же врешь. Ты утверждаешь, что productItem.gost ОбъектXDTO, тогда он не попадет в условие ?(типзнч(productItem.gost) = Тип("Строка").
   falselight
 
20 - 06.06.18 - 07:45
(17) Если так, то бывает идет строка "ОбъектXDTO" и она
встает в справочник. Это и нужно исправить.

(18) Попытка, - это не мой код. Не свой код стараюсь не
трогать. Внедряю свой при необходимости.

(19) Он там идет как productItem.gost = "ОбъектXDTO",
строковое значение. Вот и попадает по этому.
   falselight
 
21 - 06.06.18 - 07:47
Если productItem.correspondsToGost = "true" Тогда
            Если ЗначениеЗаполнено(productItem.gost) и СокрЛП(productItem.gost) <> "ОбъектXDTO" Тогда 
                Попытка 
                    СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,"");    
                Исключение 
                    СпрОбъект.Гост = "";    
                КонецПопытки;
            КонецЕсли;
        КонецЕсли;
   catena
 
22 - 06.06.18 - 08:03
(20)Опять врешь, в (6) на скрине это не  productItem.gost = "ОбъектXDTO".
   falselight
 
23 - 06.06.18 - 08:09
(22) Может быть это другой скрин.
Там эти файлы сыпятся как снегопад.
И в названиях у всех ID.
Запутаться не сложно.
Проблема в том что писалось значение "ОбъектXDTO"в реквизит справочника. Что нужно было исправить.
Я смотрел, где то его нет вообще, где то идет "ОбъектXDTO"
как строка, а где то нормальное значение, состоящее из
чисел.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует