|
КД. Получение элемента по индексу для значения не определено | ☑ | ||
---|---|---|---|---|
0
Platon1C
07.09.13
✎
17:41
|
Господа! Помогите, пожалуйста! Второй день бъюсь над, чувствую что простым, затыком.
Суть: две разные отраслевые конфы. В приемнике - справочник ФизЛица, у которго есть реквизит "Гражданство"(СправочникСсылка.Гражданства), в источнике - регистр сведений "Гражданство физлиц" (Измерение-ФизЛицо(СправочникСсылка.ФизическиеЛица), Ресурс-Страна (СправочникСсылка.КлассификаторСтранМира)). При обмене мне нужно заполнить реквизит "Гражданство", основываясь на РС. Сделал: 1) ПКО с пустым источником (Приемник-СправочникСсылка.ФизическиеЛица) 2)Сделал ПВД: [ Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ГражданствоФизЛицСрезПоследних.ФизЛицо.Наименование КАК Наименование, | ГражданствоФизЛицСрезПоследних.ФизЛицо.Код КАК Код, | ГражданствоФизЛицСрезПоследних.Страна КАК Гражданство |ИЗ | РегистрСведений.ГражданствоФизЛиц.СрезПоследних КАК ГражданствоФизЛицСрезПоследних"; Выборка = Запрос.Выполнить().Выбрать(); ДатаВыгрузки = ТекущаяДата(); Пока Выборка.Следующий() Цикл ИсходящиеДанные = Новый Структура; ИсходящиеДанные.Вставить("Код", Строка(Выборка.Код)); ИсходящиеДанные.Вставить("Наименование", Выборка.Наименование); ИсходящиеДанные.Вставить("Гражданство", Выборка.Гражданство.ПолучитьОбъект().Ссылка); КонецЦикла; ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ФизическиеЛица"); ] 3) Сделал ПКС: рисунок снизу 4) Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1705)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки ПВД = осн Обработчик = ПередОбработкойВыгрузкиДанных ОписаниеОшибки = Ошибка получения свойства объекта из входящих данных ПКО = ФизическиеЛица (:) ПКС = 2 (--> Код) Объект = РОССИЯ (Классификатор стран мира) СвойствоПриемника = Код (Строка) ОписаниеОшибки = Получение элемента по индексу для значения не определено ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8270) КодСообщения = 68 ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1682) КодСообщения = 31 Помогите разобраться, пожалуйста!!! |
|||
1
zladenuw
07.09.13
✎
17:50
|
а зачем вот так ?
Выборка.Гражданство.ПолучитьОбъект().Ссылка) если ссылка уже есть тут Выборка.Гражданство |
|||
2
Platon1C
07.09.13
✎
17:56
|
Пардон. Это я от отчаяния начал пытаться делать всякую фигню... и реквизит ссылка таще и получить объект пытаюсь...В первом варианте без поля ссылки грузил...
|
|||
3
Platon1C
07.09.13
✎
21:12
|
Господа! П-О-М-О-Г-И-Т-Е
|
|||
4
grayshadow
07.09.13
✎
21:45
|
рисунков не видно
>СвойствоПриемника = Код (Строка) хрень какая-то, что за функция Код()? текст ПВД в студию... |
|||
5
Platon1C
07.09.13
✎
22:30
|
а текст ПВД в моём топике написан... А Код(Строка) - эт реквизит "Код" в приемнике (и выгрузке), с типом "строка"... На всякий случай ещё раз код ПВД:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ГражданствоФизЛицСрезПоследних.Страна КАК Гражданство, | ГражданствоФизЛицСрезПоследних.ФизЛицо.Код КАК Код, | ГражданствоФизЛицСрезПоследних.ФизЛицо.Наименование КАК Наименование |ИЗ | РегистрСведений.ГражданствоФизЛиц.СрезПоследних КАК ГражданствоФизЛицСрезПоследних"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ИсходящиеДанные = Новый Структура; ИсходящиеДанные.Вставить("Код", Выборка.Код); ИсходящиеДанные.Вставить("Наименование", Выборка.Наименование); ИсходящиеДанные.Вставить("Гражданство", Выборка.Гражданство); КонецЦикла; ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ФизическиеЛица"); |
|||
6
grayshadow
07.09.13
✎
22:32
|
как минимум я бы сделала так:
Пока Выборка.Следующий() Цикл ИсходящиеДанные = Новый Структура; ИсходящиеДанные.Вставить("Код", Строка(Выборка.Код)); ИсходящиеДанные.Вставить("Наименование", Выборка.Наименование); ИсходящиеДанные.Вставить("Гражданство", Выборка.Гражданство.ПолучитьОбъект().Ссылка); ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ФизическиеЛица"); КонецЦикла; |
|||
7
hhhh
07.09.13
✎
22:34
|
(5) да, но зачем вы засандалили этот запрос в Классификатор стран мира?
|
|||
8
Platon1C
07.09.13
✎
22:51
|
grayshadow, так уже было. И ничего. В первом варианте. Ошибки не отличались.
|
|||
9
Platon1C
07.09.13
✎
22:55
|
hhhh, запрос по регистру засандалил... а результат хочу как-то отправить в реквизит с типом "СправочникСсылка.Гражданства". У Регистре нужное измерение имеет тип "СправочникСсылка.КлассификаторСтранМира". Тут, может, я не учел что-то??? Просто всегда прикладным программированием занимался и с КД только судьба свела... Глупейшая где-то рядом ошибка... Что-то стандартное не учел...
|
|||
10
grayshadow
07.09.13
✎
23:05
|
КД - она не простая:)
а ничего что в запросе выбираются ВСЕ физлица? и их гражданство надо отправить в реквизит какого элемента справочника? весь массив не прокатит, надо как в (6) ну и посмотреть бы скрин ПКО Физлица а также ПКО КлассификаторСтранМира -> Гражданство, такое имеется? (кстати реквизит гражданство вместо РС - это жестко...) |
|||
11
Platon1C
08.09.13
✎
00:28
|
grayshadow, сейчас увидел, что у вас строка "ВыгрузитьПоПравилу..." внутри цикла и вот что я Вам скажу... очень замечательно что мы с вами встретились! безмерно Вам благодарен! Вы вернули матери сына, а будущим детям отца! ) Все заработало! Самое главное-я понял как КД работает в этом контуре. Реально пытался в каждый реквизит засунуть ВЕСЬ результат запроса (тип-Структура). Ещё раз очень рад и гигантское спасибо Вам от меня,моих друзей , родственников и соседей)))
|
|||
12
grayshadow
08.09.13
✎
07:18
|
фсегда пожалуйста:)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |