[РЕШЕНО] Вопрос по запросу РегистрСведений, левое соединение

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Kirill_NN, 11 сен 2016.

  1. TopicStarter Overlay
    Kirill_NN
    Offline

    Kirill_NN Опытный в 1С

    Регистрация:
    2 фев 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Тестирование и исправление?? попробую
    Проверял добавлением строки Сообщить, т.к. с точкой останова во внешней печатной форме, что то не разобрался

    Сообщить(ТекущаяДата()); - повылезала сегодняшняя дата и время
  2. TopicStarter Overlay
    Kirill_NN
    Offline

    Kirill_NN Опытный в 1С

    Регистрация:
    2 фев 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Что еще нужно поправить в запросе?? подскажите пож-та...
  3. TopicStarter Overlay
    Kirill_NN
    Offline

    Kirill_NN Опытный в 1С

    Регистрация:
    2 фев 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Остальным для заметки: решено таким образом:
    Код:
    Функция ПаспортныеДанныеФизЛица(ФизЛицо) Экспорт
            ЗначениеРеквизита = "";
            Запрос = новый запрос;
            Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
                           |    ДокументыФизическихЛиц.Серия КАК Серия,
                           |    ДокументыФизическихЛиц.Номер,
                           |    ДокументыФизическихЛиц.ДатаВыдачи,
                           |    ДокументыФизическихЛиц.КемВыдан,
                           |    ДокументыФизическихЛиц.КодПодразделения,
                           |    ДокументыФизическихЛиц.ВидДокумента
                           |ИЗ
                           |    Справочник.ФизическиеЛица КАК ФизическиеЛица
                           |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц
                           |        ПО (ДокументыФизическихЛиц.Физлицо = ФизическиеЛица.Ссылка)
                           |ГДЕ
                           |    ФизическиеЛица.Ссылка = &ФизЛицо
                           |УПОРЯДОЧИТЬ ПО
                           |    Период УБЫВ";
           
            Запрос.УстановитьПараметр("ФизЛицо", ФизЛицо);   
            ОбщаяВыборка = Запрос.Выполнить();
            Выборка = ОбщаяВыборка.Выбрать();
    Как оказалось, этот регистр "с хитринкой" и там есть параметр "Вид документа". И, если у человека разные виды документа, как в моем случае: сначала был Вид на жительство, потом Паспорт, новый документ не отменяет предыдущий, и запрос СрезПоследних не работает. Хотя в карточке ФизЛица отображает последний введенный.
    Спасибо за попытки помочь :)
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Выбрать Первые 1 не решит задачи строго, т.к. в другой раз может выдать другую строку, если их будет несколько.
  5. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Не надо больше попыток помочь, тут тупиковый случай.
    nomad_irk нравится это.
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Согласен.....

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