8.х Как выдернуть данные из справочника ФизЛица данные кодом.

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем SpiritAT, 8 авг 2013.

  1. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    Добрый день!!!
    Я тока учусь по этому прошу понимания и терпения за мои глупые вопросы. Мне нужно выдернуть данные из справочника ФизЛица. Я написал через запрос

    (ВЫБРАТЬ
    | ФизическиеЛица.Наименование КАК ФИО,
    | ФизическиеЛица.ДатаРождения,
    | ФизическиеЛица.Пол,
    | КонтактнаяИнформация.Представление КАК Адрес_по_прописке,
    | КонтактнаяИнформация.Поле1 +","+ КонтактнаяИнформация.Поле2+","+КонтактнаяИнформация.Поле6+","+КонтактнаяИнформация.Поле7+",дом"+КонтактнаяИнформация.Поле9 КАК Адрес_по_проживанию
    |ИЗ
    | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    | ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
    | ПО КонтактнаяИнформация.Объект = ФизическиеЛица.Ссылка)

    но человека это не устроило и хочет что бы было программно. я без понятей куда копать помогите плиз. Версия 1С 8,2 база Упп.
  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    :). Скажите ему, что это тоже программно. Может челочек имеет в виду выборку например.
    Код:
    Выборка = Справочники.ФизическиеЛица.Выбрать();
    Пока Выборка.Следующий() Цикл
    // Здесь идет перебор каждого элемента справочника
    КонецЦикла;
    И что за человек? Преподаватель? Озвучьте все задание целиком...
  3. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    Да типа препода личного.
    Задание
    Нужно из Справочника Физ Лица составить отчет с выводом в табличной части данные типа
    1) ФИО
    2) ДР
    3)Пол
    4) Адрес прописки
    5) Адрес прожевания
    Мучаюсь уже не один день так как сомому интересно. И да сворей всего выборкой если можно это потом зогнать в отчет
  4. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    Контакную инфу вы из Регистра сведений только возьмете, с ним работать придется через отборы.
    Ну это что бы вас научить все делается - а правильнее конечно запросом все сразу
  5. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Ну раз отчет. То запрос по-любому. Самый правильный способ.
    Код:
    ВЫБРАТЬ
    КонтактнаяИнформация.Объект,
    КонтактнаяИнформация.Вид,
    КонтактнаяИнформация.Представление
    ПОМЕСТИТЬ ВТКонтактнаяИнформация
    ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    ГДЕ
    КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ФизическиеЛица.Ссылка,
    ФизическиеЛица.Наименование,
    ФизическиеЛица.ДатаРождения,
    ФизическиеЛица.Пол,
    ВТКонтактнаяИнформация.Представление КАК АдресПроживания
    ПОМЕСТИТЬ ВТАдресПроживания
    ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
    ЛЕВОЕ СОЕДИНЕНИЕ ВТКонтактнаяИнформация КАК ВТКонтактнаяИнформация
    ПО ФизическиеЛица.Ссылка = ВТКонтактнаяИнформация.Объект
    ГДЕ
    ВТКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресФизЛица)
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ФизическиеЛица.Ссылка,
    ФизическиеЛица.Наименование,
    ФизическиеЛица.ДатаРождения,
    ФизическиеЛица.Пол,
    ВТКонтактнаяИнформация.Представление КАК АдресПрописки
    ПОМЕСТИТЬ ВТАдресПрописки
    ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
    ЛЕВОЕ СОЕДИНЕНИЕ ВТКонтактнаяИнформация КАК ВТКонтактнаяИнформация
    ПО ФизическиеЛица.Ссылка = ВТКонтактнаяИнформация.Объект
    ГДЕ
    ВТКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица)
    ;
    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ВТКонтактнаяИнформация
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТАдресПроживания.Ссылка,
    ВТАдресПроживания.Наименование,
    ВТАдресПроживания.ДатаРождения,
    ВТАдресПроживания.Пол,
    ВТАдресПроживания.АдресПроживания,
    ВТАдресПрописки.АдресПрописки
    ИЗ
    ВТАдресПроживания КАК ВТАдресПроживания
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТАдресПрописки КАК ВТАдресПрописки
    ПО ВТАдресПроживания.Ссылка = ВТАдресПрописки.Ссылка
    ;
    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ВТАдресПроживания
    ;
    ////////////////////////////////////////////////////////////////////////////////
    УНИЧТОЖИТЬ ВТАдресПрописки
  6. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    а теперь тот же запрос, только проще :)
    Код:
    ВЫБРАТЬ
    КонтактнаяИнформация.Объект КАК Объект,
    КонтактнаяИнформация.Вид,
    КонтактнаяИнформация.Представление
    ПОМЕСТИТЬ ВТКонтактнаяИнформация
    ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    ГДЕ
    КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
    И КонтактнаяИнформация.Объект ССЫЛКА Справочник.ФизическиеЛица
    ИНДЕКСИРОВАТЬ ПО
    Объект
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ФизическиеЛица.Ссылка КАК Ссылка,
    ФизическиеЛица.Наименование КАК Наименование,
    ФизическиеЛица.ДатаРождения КАК ДатаРождения,
    ФизическиеЛица.Пол КАК Пол,
    ВТКонтактнаяИнформацияПроживание.Представление КАК АдресПроживания,
    ВТКонтактнаяИнформацияПрописка.Представление КАК АдресПрописки
    ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
    ЛЕВОЕ СОЕДИНЕНИЕ ВТКонтактнаяИнформация КАК ВТКонтактнаяИнформацияПроживание
    ПО ФизическиеЛица.Ссылка = ВТКонтактнаяИнформацияПроживание.Объект
    И (ВТКонтактнаяИнформацияПроживание.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресФизЛица))
    ЛЕВОЕ СОЕДИНЕНИЕ ВТКонтактнаяИнформация КАК ВТКонтактнаяИнформацияПрописка
    ПО ФизическиеЛица.Ссылка = ВТКонтактнаяИнформацияПрописка.Объект
    И (ВТКонтактнаяИнформацияПроживание.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица))
  7. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    А подскажите плиз как поля из справочника в 1С передаются полю в макете.
    Пример область подвал поле Наименование нужно передать Справочники.ФизическиеЛица.Наименование
  8. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    ОбластьПодвал =Макет.ПолучитьОбласть("Подвал");
    ОбластьПодвал.Параметры.Наименование="Иванов";
  9. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    Извините но чета не как не получается подскажите где ошибка.
    Код:
    ТабДок = новый ТабличныйДокумент();
    Макет = Отчеты.Отчет_2.ПолучитьМакет("Макет");
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    СпрФизЛица = Справочники.ФизическиеЛица;
    ОбластьДетальныхЗаписей.Параметры.Наименование = СпрФизЛица.НаименованиеФизлица;
    ОбластьДетальныхЗаписей.Параметры.ДатаРождения = СпрФизЛица.ДатаРождения;
    ОбластьДетальныхЗаписей.Параметры.Пол = СпрФизЛица.Пол;
    
    ругается на
    {Форма.ФормаОтчета.Форма(69)}: Поле объекта не обнаружено (Наименование)
    ОбластьДетальныхЗаписей.Параметры.Наименование = СпрФизЛица.Наименование;
  10. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Ругается на это ОбластьДетальныхЗаписей.Параметры.Наименование. Значит это не параметр. Найдите в макете это поле, щелкните по нему правой кнопкой мыши и поставьте не текст, а параметр.
  11. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    Извините но там стоит заполнение -> Параметр, а поле Параметр-> Наименование (((
  12. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    не, ругается на вот это
    Код:
    СпрФизЛица = Справочники.ФизическиеЛица;
    ОбластьДетальныхЗаписей.Параметры.Наименование = СпрФизЛица.НаименованиеФизлица;
    у менеджера справочника действительно нет таких реквизитов, нужно получить элемент справочника

    Код:
    ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иванов Иван Иванович");
    ОбластьДетальныхЗаписей.Параметры.Наименование = ФизЛицо.Наименование;
    ...
  13. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    а если мне нужно вывести весь справочник физлиц
  14. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.984
    Симпатии:
    398
    Баллы:
    104
    Вам же кучу примеров дали. В цикле перебираете и в этом же цикле выводите в макет...
  15. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    Код:
    ТабДок = новый ТабличныйДокумент();
    Макет = Отчеты.Отчет_2.ПолучитьМакет("Макет");
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    ВыборкаФизЛица = Справочники.ФизическиеЛица.Выбрать();
    Пока ВыборкаФизЛица.Следующий() Цикл
    Если Выборка.ЭтоГруппа() Тогда
    Продолжить;
    КонецЕсли;
    ОбластьДетальныхЗаписей.Параметры.Наименование = ВыборкаФизЛица.НаименованиеФизлица;
    ОбластьДетальныхЗаписей.Параметры.ДатаРождения = ВыборкаФизЛица.ДатаРождения;
    ОбластьДетальныхЗаписей.Параметры.Пол = ВыборкаФизЛица.Пол;
    ТабДок.Вывести(ОбластьДетальныхЗаписей);
    КонецЦикла;
    это вывод всех физлиц без группировок
  16. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое за понятливость всем. Особенно за разъяснение nickpugachev))) :icon_megabeter:
  17. Svet42
    Offline

    Svet42 Опытный в 1С

    Регистрация:
    19 окт 2013
    Сообщения:
    200
    Симпатии:
    1
    Баллы:
    29
    Здравствуйте, ребята помогите пожалуйста советом, создаю свою ВПФ, это моя первая(не судите строго), да и вообще мой первый опыт программирования в 1с. УНФ 1.4. Хочу вывести в макет ФИО физ лица. При тестировании пишет недостаточно фактических параметров.
    Код:
     [/size]
    [size=4]"ВЫБРАТЬ[/size]
    | СчетНаОплату.Ссылка,
    | СчетНаОплату.Дата КАК ДатаДокумента,
    | СчетНаОплату.Контрагент,
    | СчетНаОплату.Организация,
    | СчетНаОплату.Организация.Префикс КАК Префикс,
    | СчетНаОплату.Контрагент.КонтактноеЛицо КАК КонтактныеЛица,
    | СчетНаОплату.БанковскийСчет,
    | СчетНаОплату.Номер КАК НомерД,
    | СчетНаОплату.Запасы.(
    |  Ссылка,
    |  Номенклатура,
    |  Количество,
    |  Сумма КАК СуммаДок,
    |  Содержание,
    |  ВЫБОР
    |   КОГДА (ВЫРАЗИТЬ(СчетНаОплату.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))) = """"
    |    ТОГДА СчетНаОплату.Запасы.Номенклатура.Наименование
    |   ИНАЧЕ ВЫРАЗИТЬ(СчетНаОплату.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
    |  КОНЕЦ КАК Запас
    | ),
    | СчетНаОплату.ВалютаДокумента,
    | СчетНаОплату.Контрагент.КонтактноеЛицо.РолиКонтактногоЛица.(
    |  Ссылка КАК Поле1,
    |  НомерСтроки КАК Поле2,
    |  РольКонтактногоЛица КАК Поле3
    | ),
    | СчетНаОплату.Контрагент.ФизическоеЛицо КАК ФизЛицо,
    | СчетНаОплату.Контрагент.ФизическоеЛицо.Наименование КАК ФЛ
    |ИЗ
    | Документ.СчетНаОплату КАК СчетНаОплату
    |ГДЕ
    | СчетНаОплату.Ссылка В(&МассивОбъектов)";
    
    Код:
    	 ДанныеОФизЛице =  УправлениеНебольшойФирмойСервер.ДанныеФизЛица(Шапка.Организация,Шапка.ФизЛицо);
    ФИО = СокрЛП(ДанныеОФизЛице.Фамилия) + " " + СокрЛП(ДанныеОФизЛице.Имя) + " " + СокрЛП(ДанныеОФизЛице.Отчество);
    ОбластьМакета.Параметры.ФЛ=ФИО;
    
  18. Svet42
    Offline

    Svet42 Опытный в 1С

    Регистрация:
    19 окт 2013
    Сообщения:
    200
    Симпатии:
    1
    Баллы:
    29
    Все разобралась, добавила параметр ДатаСреза, и все заработало.
Похожие темы
  1. alinkaZ
    Ответов:
    2
    Просмотров:
    1.791
  2. AKL2007
    Ответов:
    2
    Просмотров:
    767
  3. Boyd_Rice
    Ответов:
    2
    Просмотров:
    544
  4. maritime
    Ответов:
    2
    Просмотров:
    431
  5. punkyklan
    Ответов:
    1
    Просмотров:
    3.053
Загрузка...

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