1. Platon777 07.09.13 15:00 Сейчас в теме

Получение элемента по индексу для значения не определено

Господа! Помогите, пожалуйста! Второй день бъюсь над, чувствую что простым, затыком.
Суть: две разные отраслевые конфы. В приемнике - справочник ФизЛица, у которго есть реквизит "Гражданство"(СправочникСсылка.Гражданства), в источнике - регистр сведений "Гражданство физлиц" (Измерение-ФизЛицо(СправочникСсылка.ФизическиеЛица), Ресурс-Страна (СправочникСсылка.КлассификаторСтранМира)). При обмене мне нужно заполнить реквизит "Гражданство", основываясь на РС.
Сделал:
1) ПКО с пустым источником (Приемник-СправочникСсылка.ФизическиеЛица)
2)Сделал ПВД:
[
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ГражданствоФизЛицСрезПоследних.ФизЛицо.Наименование КАК Наименование,
| ГражданствоФизЛицСрезПоследних.ФизЛицо.Код КАК Код,
| ГражданствоФизЛицСрезПоследних.Страна КАК Гражданство
|ИЗ
| РегистрСведений.ГражданствоФизЛиц.СрезПоследних КАК ГражданствоФизЛицСрезПоследних";
Выборка = Запрос.Выполнить().Выбрать();
ДатаВыгрузки = ТекущаяДата();
Пока Выборка.Следующий() Цикл
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Код", Строка(Выборка.Код));
ИсходящиеДанные.Вставить("Наименование", Выборка.Наименование);
ИсходящиеДанные.Вставить("Гражданство", Выборка.Гражданство.ПолучитьОбъект().Ссылка);

КонецЦикла;
ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ФизическиеЛица");
]

3) Сделал ПКС: рисунок снизу

4) Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1705)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
ПВД = осн
Обработчик = ПередОбработкойВыгрузкиДанных
ОписаниеОшибки = Ошибка получения свойства объекта из входящих данных
ПКО = ФизическиеЛица (:)
ПКС = 2 (--> Код)
Объект = РОССИЯ (Классификатор стран мира)
СвойствоПриемника = Код (Строка)
ОписаниеОшибки = Получение элемента по индексу для значения не определено
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8270)
КодСообщения = 68
ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1682)
КодСообщения = 31

Помогите разобраться, пожалуйста!!!
Ответы
Избранное Подписка Сортировка: Древо
2. rosinfo1 07.09.13 16:25 Сейчас в теме
Х.з. как это делать в КД 2.0, я обычно решаю вопрос по частям.
1) Выгрузилось ли то что мне нужно в файл. Проверяется поиском реквизита в файле обмена, через любой XML редактор. Например XML Notpad
2) Загрузилось ли из файла. Ставлю точку останова при загрузке в базе приемнике, том месте где выдало ошибку, анализирую программный код. И только после этого лезу в КД 2.0 и исправляю там.
3. rosinfo1 07.09.13 16:27 Сейчас в теме
Так, у тебя ошибка при выгрузке, ставь там точку остановки и смотри что возвращает запрос.
4. Platon777 07.09.13 16:55 Сейчас в теме
Файла выгрузки нет. Ошибка при выгрузке данных. Не хочет он данные собирать для ХМЛ...
А запрос выкидывает то, что нужно... С помощью точки останова в обработке выгрузки XML я буду ооооочень долго искать затык...
5. rosinfo1 07.09.13 18:44 Сейчас в теме
Выгрузки нет, т.к. где-то в коде ошибка, это только кажется, что отладчиком очень долго искать, при определенной сноровке уйдет минут 20. Ошибка при выгрузке данных ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1705)} В этом месте, а далее вверх по коду.
Зато потом становится прозрачно и понятно, как работают правила.
"ОписаниеОшибки = Получение элемента по индексу для значения не определено," Вот эту ошибку и нужно копать. Хотя бы по гуглить для начала.
6. rosinfo1 07.09.13 18:55 Сейчас в теме
| РегистрСведений.ГражданствоФизЛиц.СрезПоследних(параметры отбора), см. синтаксис помошник
7. Xatori111 21 07.09.13 21:16 Сейчас в теме
На тебе правила, конечно без модификаций вряд ли тебе подойдут ЗУП > УПП, но как сделать вполне можно будет посмотреть. Как раз там есть примерчики подходящие.
kukaev-ali; +1 Ответить
8. Platon777 07.09.13 22:37 Сейчас в теме
(7) Xatori111, спасибо, только тут нету получения входящих данных из произвольного запроса... и типы источников и приемников совпадают... такие штуки для текущего проекта я уже сделал... тут все понятно... а вот что с моей проблемой делать ума не приложу... и ошибки, чувствую, глупейшие... просто к КД только- что судьба свела...
9. Xatori111 21 07.09.13 23:52 Сейчас в теме
(8) я просто по другому бы наверное задачу делал, переносил бы Физ лица, а от них уже цеплял данные от регистра сведений (всё равно же их тащить), а если так дела в примерчике найдёшь как в РС запись сделать.

П.С. Только что увидел, у тебя Гражданство > Приемник Справочник.Гражданство, а ты поставил ПКО ФИз лица, конечно так не взлетит (Грубо ты пытаешься заполнить справочник гражданство по ПКО для Физических лиц).

Наверное правильнее было бы сделать структуру,
Переносишь Физ лица, к ним цепляется РС, а из РС выйдешь на справочник Гражданство, и всё перенесётся, а если надо не все физ лица переносить, Универсальный обмен даёт довольно гибкий механизм отбора (Кстати можно без проблем заполнить программно)
Platon777; +1 Ответить
10. Platon777 10.09.13 00:43 Сейчас в теме
(9) Xatori111, спасибо! Все сделал, но, наверно чуть-чуть по другому... Попозже закину, как решал
11. shoy 19 03.09.14 16:01 Сейчас в теме
(10) Platon777, незакинул! Обманул!
jaroslav.h; +1 Ответить
12. Abbra 21 16.09.15 09:38 Сейчас в теме
(11) shoy, Ну будем раз в год напоминать тогда
13. rrrrrr79 05.10.15 14:02 Сейчас в теме
14. suxo 12.01.17 00:06 Сейчас в теме
Да уж. мог бы и написать :( такая же беда. ждем.
15. AdriGoth 20.06.18 13:39 Сейчас в теме
да...вот увы но очень актуально...=)
user811769; +1 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Специалист техподдержки 1С
Иркутск
зарплата от 28 000 руб. до 34 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 48 000 руб. до 96 000 руб.
По совместительству

Программист 1С
Ставрополь
зарплата от 40 000 руб. до 60 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Программист 1С
Благовещенск (Амурская область)
зарплата от 40 000 руб. до 70 000 руб.
Полный день