8.х Заполнение табличной части

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

  1. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Добрый день! Подскажите пожалуйста, такую вещь. Я создал общий макет с формой спецификации к договору. Макет выводится на печать из заказа покупателя. Все прекрасно заполняется кроме номенклатуры. Номенклатура выводится только наименование. Как сделать так, чтобы выводилось НаименованиеПолное???

    // Товары
    Область = Макет.ПолучитьОбласть("ТоварыШапка");
    ТабДок.Вывести(Область);
    ОбластьТовары = Макет.ПолучитьОбласть("Товары");
    Для Каждого ТекСтрокаТовары Из Товары Цикл
    ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары);


    ТабДок.Вывести(ОбластьТовары);

    КонецЦикла;
  2. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    как у вас имя параметра куда выводится номенклатура? скорее всего Номенклатура тогда попробуйте


    Для Каждого ТекСтрокаТовары Из Товары Цикл
    ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары);
    ОбластьТовары.Параметры.Номенклатура=ТекСтрокаТовары.Номенклатура.НаименованиеПолное;
    ТабДок.Вывести(ОбластьТовары);

    КонецЦикла;
  3. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    ОГРОМНОЕ СПАСИБО! Заработало!
  4. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Добрый день! Опять к Вам обращаюсь.
    У меня не получается в макете вывести контактное лицо контрагента.
    Суть проблемы: У меня в макете есть ячейка с параметром "К_Руководитель". Мне нужно чтобы в этой ячейке отображалось контактное лицо с РольюКонтактногоЛица (не основное контактное лицо). С основным контактным лицом проблем с выводом в указанную ячейку не возникает. А тут что-то я уже впал в ступор.
    Т.е. Для основного контактного лица у меня прописано : Область.Параметры.К_Руководитель = Контрагент.ОсновноеКонтактноеЛицо.КонтактноеЛицо;

    Тут все работает.
    Подскажите, пожалуйста, как быть, если нужно вывести в макет другое контактное лицо этого контрагента с ролью "Руководитель"???
  5. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    Это вам нужно либо запрос либо выборку делать к справочнику КонтактныеЛицаКонтрагентов, там хранятся контактные лица контрагентов
  6. Неназываемый
    Offline

    Неназываемый Опытный в 1С Команда форума

    Регистрация:
    2 фев 2007
    Сообщения:
    507
    Симпатии:
    7
    Баллы:
    29
    В большинстве типовых конфигураций 1С, работа с контактными лицами описана в общих модулях.
    Пример получения руководителя из УТ
    Код:
    Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизации(Организация, ТекущаяДата(),);
    Руководитель = Руководители.Руководитель;
    
  7. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    С руководителем организации то проблем нет. Тут же надо вывести одно из контактных лиц Контрагента с ролью "Руководитель"

    Вложения:

  8. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    Я же написал, что данные беруться из подчиненого справочника КонтактныеЛицаКонтрагетов по Владельцу
  9. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Если Вас не затруднит, можно чуть подробнее.
    Делаю так, но что-то пока не разобрался.
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | КонтактныеЛица.Ссылка КАК ФИО,
    | КонтактныеЛица.Должность КАК Должность
    |ИЗ
    | Справочник.КонтактныеЛица КАК КонтактныеЛица
    |ГДЕ
    | КонтактныеЛица.ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль.Код = Руководитель
    | И КонтактныеЛица.ОбъектВладелец = &Контрагент";


    Запрос.УстановитьПараметр("Руководитель",Справочники.РолиКонтактныхЛиц.НайтиПоКоду("000000001").Код);



    КонтактныеЛица = Запрос.Выполнить().Выгрузить();
  10. Nub-programmer
    Offline

    Nub-programmer

    Регистрация:
    26 авг 2013
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    | КонтактныеЛица.ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль.Код = Руководитель
    Вот эта строчка Вас не смущает? меня почему-то очень!

    Не смущает вот это?
  11. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    1. Почему КонтактныеЛица.ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль.Код = Руководитель, а не
    КонтактныеЛица.ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль = &Руководитель

    Запрос.УстановитьПараметр("Руководитель",Справочники.РолиКонтактныхЛиц.НайтиПоКоду("000000001"));

    2| И КонтактныеЛица.ОбъектВладелец = &Контрагент"; А кто этот параметр устанавливать будет
  12. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Как Вам сказать... Я только любитель и глубокими познаниями программирования 1С не владею, к сожалению.
  13. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | КонтактныеЛица.Ссылка КАК ФИО,
    | КонтактныеЛица.Должность КАК Должность
    |ИЗ
    | Справочник.КонтактныеЛица КАК КонтактныеЛица
    |ГДЕ
    | КонтактныеЛица.ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль = &Руководитель
    | И КонтактныеЛица.ОбъектВладелец = &Контрагент";


    Запрос.УстановитьПараметр("Руководитель",Справочники.РолиКонтактныхЛиц.НайтиПоКоду("000000001"));
    Запрос.УстановитьПараметр("Контрагент", тут прописать ссылку на контрагента по которому хотите получить контактое лицо)



    КонтактныеЛица = Запрос.Выполнить().Выгрузить();
  14. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Спасибо, за подсказку. Вот только ошибку выкидывает "КонтактныеЛица = Запрос.Выполнить().Выгрузить();
    по причине:
    {(7, 17)}: Поле не найдено "КонтактныеЛица.ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль"
    КонтактныеЛица.<<?>>ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль = &Руководитель
    "
    Чтобы это могло быть?
  15. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    Попробуйте вместо КонтактныеЛица.ОбъектВладелец.ОсновноеКонтактноеЛицо.Роль = &Руководитель
    КонтактныеЛица.РольКонтактногоЛица = &Руководитель
  16. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Пробовал - та же ошибка
  17. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Когда делаю так:
    Область.Параметры.Руководитель = Контрагент.ОсновноеКонтактноеЛицо.КонтактноеЛицо;
    То работает, но выводится именно основное контактное лицо. Можно ли на подобие такой же записи вывести контактное лицо из этого же контрагента, но с ролью "Руководитель"?
  18. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    Код:
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
    | КонтактныеЛицаКонтрагентов.Ссылка КАК ФИО
    |ИЗ
    | Справочник.КонтактныеЛицаКонтрагентов КАК КонтактныеЛицаКонтрагентов
    |ГДЕ
    | КонтактныеЛицаКонтрагентов.Владелец = &Владелец
    | И КонтактныеЛицаКонтрагентов.РольКонтактногоЛица = &РольКонтактногоЛица";
    
    
    Запрос.УстановитьПараметр("Владелец",ссылкаНаКонтрагента);
    Запрос.УстановитьПараметр("РольКонтактногоЛица",Справочники.РолиКонтактныхЛиц.НайтиПоКоду("000000001"));
    Выборка=Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
    Сообщить(Выборка.ФИО);
    Иначе
    Сообщить("Контактных лиц не найдено");
    КонецЕсли;
    
  19. TopicStarter Overlay
    Шам
    Offline

    Шам Опытный в 1С

    Регистрация:
    28 июн 2010
    Сообщения:
    72
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое! Буду разбираться дальше, т.к. нужное контактное лицо выводится в служебном сообщении. Но уже выводится!
  20. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.632
    Симпатии:
    946
    Баллы:
    204
    Не ну Выборка.ФИО содержит ваше Лицо, а куда его девать - сами решайте выводить или куда то писать

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