8.х Создание печатной формы(акта).Помогите новичку,пожалуйста,разобраться

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

  1. TopicStarter Overlay
    ppkmlite
    Offline

    ppkmlite Опытный в 1С

    Регистрация:
    28 окт 2014
    Сообщения:
    70
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Создаю печатную форму(акт). На макете должен выбираться контрагент, договор(либо иное основание возникновения обязательств) и в табличной части
    все документы оказания услуг, товаров , работ по этому договору.
    Я сделала так
    Код:
    Процедура АктНажатие(Элемент)
        ТабДок = ПечатьАкта(ТабДок);
        ТабДок.ТолькоПросмотр = Истина;
    КонецПроцедуры
    Функция ПечатьАкта(ТабДок);
          //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
        // Данный фрагмент построен конструктором.
        // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
        Макет = Справочники.Договоры.ПолучитьМакет("Макет1");
        Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |    МЗ_Списание.Материалы.(
            |        Ссылка КАК Материал,
            |        ПРЕДСТАВЛЕНИЕ(МЗ_Списание.Материалы.Ссылка),
            |        Количество,
            |        ЕдиницаИзмерения,
            |        ПРЕДСТАВЛЕНИЕ(МЗ_Списание.Материалы.ЕдиницаИзмерения),
            |        Сумма
            |    ),
    |ИЗ
            |    Документ.МЗ_Списание КАК МЗ_Списание,
    Результат = Запрос.Выполнить();
        ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
        ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
        ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
        ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
        МатериалыОбластьШапкаТаблицы = Макет.ПолучитьОбласть("МатериалыШапкаТаблицы");
        МатериалыОбластьПодвалТаблицы = Макет.ПолучитьОбласть("МатериалыПодвалТаблицы");
        МатериалыОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("МатериалыДетали");[DOUBLEPOST=1416599801][/DOUBLEPOST]ТабДок.Очистить();
        ТабДок.Вывести(ОбластьЗаголовок);
        ТабДок.Вывести(ОбластьШапкаТаблицы);
        ТабДок.НачатьАвтогруппировкуСтрок();
        ВыборкаДетальныеЗаписи = Результат.Выбрать();
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
            ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
            ТабДок.НачатьГруппуСтрок();
            ТабДок.Вывести(МатериалыОбластьШапкаТаблицы);
            ТабДок.НачатьАвтогруппировкуСтрок();
            МатериалыВыборкаДетальныеЗаписи = ВыборкаДетальныеЗаписи.Материалы.Выбрать();
            Пока МатериалыВыборкаДетальныеЗаписи.Следующий() Цикл
                МатериалыОбластьДетальныхЗаписей.Параметры.Заполнить(МатериалыВыборкаДетальныеЗаписи);
                ТабДок.Вывести(МатериалыОбластьДетальныхЗаписей, МатериалыВыборкаДетальныеЗаписи.Уровень());
            КонецЦикла;
            ТабДок.ЗакончитьАвтогруппировкуСтрок();
            ТабДок.Вывести(МатериалыОбластьПодвалТаблицы);
            ТабДок.Вывести(КапвложенияОбластьШапкаТаблицы);
            ТабДок.НачатьАвтогруппировкуСтрок();
    Как мне в запросе прописать, что нужно отбирать только документы по выбранному договору в шапке?
    Последнее редактирование модератором: 24 ноя 2014
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Код:
    ......
    ИЗ
    | Документ.МЗ_Списание КАК МЗ_Списание
    |ГДЕ
    |М3_Списание.ДоговорКонтрагента = &ДоговорКонтрагента
    
    Запрос.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента);

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