|
Расшифровка ОбъектXDTO | ☑ | ||
---|---|---|---|---|
0
falselight
05.06.18
✎
05:01
|
При чтении xml один объект представляется как ОбъектXDTO
и его никак не развернуть как некоторые другие. Как сейчас можно получить его настоящее значение, а не строку ОбъектXDTO ? Попытка СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,""); Исключение СпрОбъект.Гост = ""; КонецПопытки; |
|||
1
falselight
05.06.18
✎
05:17
|
Получается что в xml пришел не верный объект, не расшивровываемый?
|
|||
2
catena
05.06.18
✎
05:26
|
Смотри: открываешь СП, находишь там ОбъектXDTO. Внимательно читаешь. Проверяешь прочитанное на своем объекте. Если ничего не помогает, идешь к отправителю и так ему и говоришь: я такое не умею.
|
|||
3
falselight
05.06.18
✎
06:00
|
productItem.gost.Тип() показало
{http://www.w3.org/2001/XMLSchema}anyType Можно ли как то получить значение? Или это не о чем не говорит? |
|||
4
falselight
05.06.18
✎
06:02
|
productItem.gost.Получить()
или productItem.gost.ПолучитьXDTO() пишет не достаточно фактических параметров. Но я не знаю какие нужно параметры передавать? Получить нужно Гост. |
|||
5
RomaH
naïve
05.06.18
✎
08:01
|
текст XML покажи - что там
|
|||
6
falselight
05.06.18
✎
08:31
|
||||
7
falselight
05.06.18
✎
08:35
|
(5) Так идет в самом xml файле
<dt:correspondsToGost>false</dt:correspondsToGost> <dt:gost/> |
|||
8
RomaH
naïve
05.06.18
✎
09:46
|
так он пустой - совсем
<dt:gost/> |
|||
9
falselight
05.06.18
✎
11:04
|
(8) Нужно сейчас обработать что бы в поле не вставало
строковое значение ОбъектXDTO. Как это правильно можно сделать? |
|||
10
RomaH
naïve
05.06.18
✎
11:58
|
если gost заполнен будет - в нем будут реквизита (или как их там)
проверяй на наличие реквизита (ЕстьРеквизитОбъекта) |
|||
11
RomaH
naïve
05.06.18
✎
11:59
|
или я вопрос не понял
в (0) же рабочий код? |
|||
12
falselight
05.06.18
✎
17:25
|
(11) Да.
Мне сейчас нужно сделать что бы в строковое поле в 1с не попадало значение ОбъектXDTO. Вот отрезок XML. Гост значение пустое. Но как это определить????? Обработать как если в productItem.gost строка "ОбъектXDTO" тогда писать пустое значение? Можно ли как то иначе это прочитать средствами чтения xml ? |
|||
13
falselight
05.06.18
✎
17:26
|
||||
14
falselight
06.06.18
✎
07:19
|
Подскажите пожалуйста как разобраться с Гост (gost)
из этого XML? Бывает оно пустое, и в поле 1с справочника записывается значение строки "ОбъектXDTO" что не нужно. Либо значение gost у productItem.gost вообще отсутствует. Тогда ничего не пишется в поле. Как правильно разобрать этот xml (13) по госту. Что бы писался только гост верный, и не писались не нужные данные. Сейчас строка обработки значения Гост такая (но она пропускает не нужные строковые значения "ОбъектXDTO"), - Попытка СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,""); Исключение СпрОбъект.Гост = ""; КонецПопытки; |
|||
15
RomaH
naïve
06.06.18
✎
07:24
|
может это:
<dt:correspondsToGost>false</dt:correspondsToGost> если ложь - то ГОСТа нет или такой костыль: Если ГОСТ = "ОбъектXDTO" Тогда ГОСТ = ""; КонецЕсли; |
|||
16
falselight
06.06.18
✎
07:27
|
(15) Пока пробую так, но есть же правильные решения, а есть нет. Если соответствует госту = фальшь, уже наверное
можно не обрабатывать. И так же как вы сказали проверять, если в строке "ОбъектXDTO" тоже не учитывать. Я думал этот ОбъектXDTO нужно как то расшифровать. Попытка СпрОбъект.СоответствуетГОСТу = ?(productItem.correspondsToGost="true",1,0); Исключение СпрОбъект.СоответствуетГОСТу = 0; КонецПопытки; Если productItem.correspondsToGost = "true" Тогда Попытка СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,""); Исключение СпрОбъект.Гост = ""; КонецПопытки; КонецЕсли; |
|||
17
RomaH
naïve
06.06.18
✎
07:28
|
вот это чем не устраивает?
СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,""); |
|||
18
RomaH
naïve
06.06.18
✎
07:29
|
(16) попытку лучше убрать - проверять на наличие реквизита перед обращением
|
|||
19
catena
06.06.18
✎
07:37
|
(16)Ну ты же врешь. Ты утверждаешь, что productItem.gost ОбъектXDTO, тогда он не попадет в условие ?(типзнч(productItem.gost) = Тип("Строка").
|
|||
20
falselight
06.06.18
✎
07:45
|
(17) Если так, то бывает идет строка "ОбъектXDTO" и она
встает в справочник. Это и нужно исправить. (18) Попытка, - это не мой код. Не свой код стараюсь не трогать. Внедряю свой при необходимости. (19) Он там идет как productItem.gost = "ОбъектXDTO", строковое значение. Вот и попадает по этому. |
|||
21
falselight
06.06.18
✎
07:47
|
Если productItem.correspondsToGost = "true" Тогда
Если ЗначениеЗаполнено(productItem.gost) и СокрЛП(productItem.gost) <> "ОбъектXDTO" Тогда Попытка СпрОбъект.Гост = ?(типзнч(productItem.gost) = Тип("Строка"),productItem.gost,""); Исключение СпрОбъект.Гост = ""; КонецПопытки; КонецЕсли; КонецЕсли; |
|||
22
catena
06.06.18
✎
08:03
|
(20)Опять врешь, в (6) на скрине это не productItem.gost = "ОбъектXDTO".
|
|||
23
falselight
06.06.18
✎
08:09
|
(22) Может быть это другой скрин.
Там эти файлы сыпятся как снегопад. И в названиях у всех ID. Запутаться не сложно. Проблема в том что писалось значение "ОбъектXDTO"в реквизит справочника. Что нужно было исправить. Я смотрел, где то его нет вообще, где то идет "ОбъектXDTO" как строка, а где то нормальное значение, состоящее из чисел. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |