Имя: Пароль:
1C
1C 7.7
v7: Ошибка преобразования данных XML
0 AndrewM
 
25.07.12
17:19
Помогите, люди добрые.

Выгружаю документы из 7-ки в 8-ку. Выгрузка из 7-ки проходит без ошибок, а загрузка в какой-то момент вылетает с ошибкой:

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1214)}: Ошибка при вызове метода контекста (XMLЗначение): Ошибка преобразования данных XML

Зашёл в этот модуль, ошибка выходит на функции XMLЗначение(). Поставил "Попытка ... Исключение" и вот что увидел: ошибка вылетает, когда в качестве параметров этой функции передаются Тип = Дата и Значение = "2000-00-00T00:00:00"

Что это за буква "Т" посередине, не знаю. Может ли быть в ней причина? Я ничего особенного с датами не делал. В правилах просто передавал дату в дату и ничего более.

Не знаю, что и делать дальше.
1 Надсмотрщик
 
25.07.12
17:22
Время отделяет
2 Надсмотрщик
 
25.07.12
17:24
А у тебя есть дата 00.00.2000 г?
3 dangerouscoder
 
25.07.12
17:24
Тестирование и исправление в 77 делал?
4 AndrewM
 
25.07.12
17:35
(2) А как это будет выглядеть в 7-ке? Там же год двузначный. Пустые даты в загружаемых документах встречаются. Но перед вылетанием ошибки несколько документов, в которых присутствуют пустые даты, успешно загружаются.
5 AndrewM
 
26.07.12
09:21
Методом глубоконаучного тыка проблему удалось выявить.
В 7-ке данные физлица о составе семьи, трудовых стажах, учёных званиях и степенях хранятся в соответствующих реквизитах каким-то странным образом: эти реквизиты имеют тип "строка", а данные в них просто через запятую перечислены (если, например, взять состав семьи, то в соответствующем строковом реквизите физлица записано: <степень родства>,<имя>,<дата рождения>).
А если физлиц в базе под 27 тыс., не ровен час, когда у какого-то родственника физлица чисто случайно дата рождения оказалась пуста.
Решил проблему, понаставив соответствующих проверок в правилах обмена.
Программист всегда исправляет последнюю ошибку.