8.х ОБМЕН Как в правиле обмена реализовать поиск справочника по реквизиту, который в приёмнике лежит в другом

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем AndrewM, 14 апр 2012.

  1. TopicStarter Overlay
    AndrewM
    Offline

    AndrewM

    Регистрация:
    21 июл 2011
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Задача у меня такая: реквизит, по которому надо найти элемент, в приёмнике находится в другом справочнике.
    А именно: в правиле надо найти физическое лицо по табельному номеру. Но табельный номер в приёмнике находится в справочнике "Сотрудники", элемент которого в свою очередь имеет ссылку на физлицо. То есть надо как-то найти физлицо по табельноме номеру, хранящемуся в сотруднике.

    Я пробовал в "При загрузке" ПКО "Физлицо -> Физлицо" писать так:
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | СотрудникиОрганизаций.Ссылка
    |ИЗ
    | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
    |ГДЕ
    | СотрудникиОрганизаций.Код = &ТабельныйНомер";
    
    Запрос.УстановитьПараметр("ТабельныйНомер", Объект.Код);
    Выгрузка = Запрос.Выполнить().Выгрузить();
    Если Выгрузка.Количество() > 0 Тогда
    Объект = Выгрузка[0].Ссылка.Физлицо;
    КонецЕсли;
    То есть попробовал заместить Объект найденным мной в запросе физлицом.

    Но в ответ получил:
    Помогите разобраться.
  2. TopicStarter Overlay
    AndrewM
    Offline

    AndrewM

    Регистрация:
    21 июл 2011
    Сообщения:
    24
    Симпатии:
    0
    Баллы:
    1
    Присвоение физлица из выборки объекту переписал следующим образом:
    Код:
    ...
    Объект =
    Выгрузка[0].Ссылка.Физлицо.Ссылка.ПолучитьОбъект();
    ...
    Ошибка пропала, объект подменяется тем, который мне нужен.
    Но в документе в том поле, где должно отображаться физлицо, выходит:
    Если я пытаюсь дописать вот так:
    Код:
    ...
    Объект = Выгрузка[0].Ссылка.Физлицо.Ссылка.ПолучитьОбъект();
    Объект.Ссылка = Выгрузка[0].Ссылка.Физлицо.Ссылка;
    ...
    , снова выходит ошибка:
    Как это решить?
  3. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.400
    Симпатии:
    40
    Баллы:
    54
    Код:
    Объект.Ссылка = Выгрузка[0].Ссылка.Физлицо.Ссылка
    Смущает меня эта строка. Какой тип имеет Объект. Не могу понять чего Вы хотите добиться. Заменить ссылку другой ссылкой нельзя.

Поделиться этой страницей