Имя: Пароль:
1C
1С v8
Опять не так работает конвертация
0 hawksib
 
18.11.14
07:04
всё мучую конвертацию, снова вопрос к знатокам:
суть в том, что сделал простые правила. Документ реализация товаров и услуг, табличная часть услуги. При выгрузке данных выдается ошибка:
Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8406)}: Итератор для значения не определен

я нахожу это место в модуле, вижу вот такой цикл:
Для каждого КлючИЗначение из Значение Цикл

дело в том, что переменная значение у меня типа "номенклатурные группы", а не соответствие, как того требует логика цикла. И вот, я смотрю, что свое значение переменная "значение" получает тремя строчками выше, в процедуре "ПолучитьЗначениеСвойства", а если посмотреть код процедуры видно:
Значение = ОбъектДляПолученияДанных[ИмяСвойства];

Тут всё логично, и читается в коде ОбъектДляПолученияДанных - Объект коллекции (Либо как привычнее - строка таблицы), ИмяСвойства - Реквизит таблицы (субконто), НО никак не соответствие. Вот цикл и не запускается. Решил эту проблему комментированием куска модуля, где вызывается процедура "_ВыгрузитьСубконто", в которой и возникает ошибка, всё работает, но чувствую, что должно быть как-то иначе. Кто нибудь встречал такую проблему?
1 Ник второй
 
18.11.14
07:07
(0) Соответствие это коллекция и прекрасно обходится циклом, так что ищите проблему в другом
2 Ник второй
 
18.11.14
07:08
(1) + Ну и естественно косяк в алгоритме "_ВыгрузитьСубконто" (это же алгоритм?). Без анализа кода ничего определенного сказать не возможно
3 hawksib
 
18.11.14
07:12
код стандартный из обработки "Универсальный обмен данными xml"
4 hawksib
 
18.11.14
07:13
(1) в том-то и дело, что должно быть соответствие, а там не соответствие
5 13_Mult
 
18.11.14
07:16
Поверь на слово, с обработкой и конвертацией все хорошо.
6 Рэйв
 
18.11.14
07:30
(4)Гдето в КД поставил лишнюю галку "Получать из входящих данных" или чтото вроде.
7 hawksib
 
18.11.14
08:17
да нет, всё вроде бы правильно стоит, что-то в _ВыгрузитьСубконто всё-таки не правильно, не получается там соответствия, странно, что в обычном приложении вообще в эту функцию не заходит, правда там и метаданные у меня как-то более коряво сформированы, думаю, что комментирование процедуры не испортит конвертацию
8 hawksib
 
18.11.14
08:26
(6) разница лишь в том, что свойство объекта ПРИЕМНИКА имеет вид "виды субконто счета", при этом источник "реквизит", а в обычном приложении и у источника и, и у приемника вид - "реквизит"