Имя: Пароль:
1C
1С v8
Недопустимые символы xml (План обмена) - Как избежать?
0 Ivan Bezdomnyi
 
11.03.14
05:59
Приветствую.

Порой складывается такая ситуация, что кто-то из пользователей (а их не мало) умудряется в разных местах (справочниках, документах) вставить такой недопустимый символ (то ли копированием из другого места, то ли еще как).

Бывает это редко, но как говорится, метко.

Таким образом при записи сообщения обмена вылетает ошибка о этих самых недопустимых символах. Приходится вручную отыскивать и убирать этот символ.

Как этого избежать?

Проверить xml перед записью не получается, т.к. формирование и тут же запись и тут же ошибка возникают при вызове одной функции:
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);         
А делать проверку каждого реквизита типа "Строка" во всех справочниках и документах - обалдеешь)

P.S. Платформа 8.2, конфа самописная.
1 kosts
 
11.03.14
06:02
(0) Можно сделать проверку не во всех объектах, а только в тех что зарегистрированы для обмена.
2 Wobland
 
11.03.14
06:04
даю наводку: http://i.imgur.com/GicOosN.png
3 Ivan Bezdomnyi
 
11.03.14
06:29
(2) эмм.. но ведь эта галочка сводится всё к тому же НайтиНедопустимыеСимволыXML(Текст)
А как я уже писал: формирование и тут же запись и тут же ошибка возникают при вызове одной функции:
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);
4 Web00001
 
11.03.14
07:05
Как я понял, Вобланд как бы намекает, если эта галка есть здесь, почему бы ее (или то что она делает), не добавить в твою выгрузку.
5 Wobland
 
11.03.14
07:07
то, на что намекнул Wobland уже освоил Ivan Bezdomnyi, но у него вся запись происходит одним методом плана обмена
6 Web00001
 
11.03.14
07:10
(5) Немного туплю, но все таки спрошу: А это таки что то меняет?
7 Godofsin
 
11.03.14
07:11
(6) +1.
8 Wobland
 
11.03.14
07:17
(6) (7) ээ... сдаюсь ;)
9 ДенисЧ
 
11.03.14
07:33
В подписку на все объекты воткнуть проверку.
10 Starhan
 
11.03.14
08:47
(2) можешь дать на водку, и вообще ничего не объяснять :)
11 Serg_1960
 
11.03.14
08:58
"Даю на водку" :)

ПланыОбмена.ВыбратьИзменения
12 Ivan Bezdomnyi
 
11.03.14
09:40
(6)(7) Галка делает то, что проверяет текст xml, а у меня текст xml как только сфорировался - сразу записывается - и сразу выдает ошибку - всё в одной функции (третий раз пишу)))

(11) хорошая на водка)
т.е. заменить одну процедуру
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);

вот этим..

Выб = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель,
        ЗаписьСообщения.НомерСообщения);
Пока Выб.Следующий() Цикл
    Объект = Выб.Получить();
    ЗаписатьXML(Запись, Объект);
КонецЦикла;


чтобы тут уже можно проверить текст xml.. так?)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс