Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как привязать реквизит в отчете
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
wmatik
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Ситуация следующая: есть отчет который выдает планы по кодам, эти планы достаются из документа ПланЗакупок. В этом документе есть реквизит "Примечание" (Общий реквизит документов), который необходимо выводить в этом отчете. Ньюанс таков, Этот реквизит для каждого документа ОДИН, а в документе много разных кодов. Вот я не соображу как сделать так, чтобы в отчет выводились все коды с планами и если код повторяется (а он будет повторяться),чтобы или в две разные строки или еще как-то выводилось примечание
kalyamov
Цитата(wmatik @ 23.06.11, 15:50) необходимо зарегистрироваться для просмотра ссылки
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Ситуация следующая: есть отчет который выдает планы по кодам, эти планы достаются из документа ПланЗакупок. В этом документе есть реквизит "Примечание" (Общий реквизит документов), который необходимо выводить в этом отчете. Ньюанс таков, Этот реквизит для каждого документа ОДИН, а в документе много разных кодов. Вот я не соображу как сделать так, чтобы в отчет выводились все коды с планами и если код повторяется (а он будет повторяться),чтобы или в две разные строки или еще как-то выводилось примечание

ТекстЗапроса = "
|Прим = Документ.ПланЗакупок.Примечание;
|Код = Документ.ПланЗакупок.Код;
|Группировка Код;
|Группировка Прим;
";

Пока Запрос.Группировка(1)=1 Цикл
    ТекКод = Запрос.Код;
     Пока Запрос.Группировка(2)=1 Цикл
    ТекПрим = Запрос.Прим;
     КонецЦикла;
КонецЦикла;


Вроде где то так.
-=VJ=-
Цитата(wmatik @ 23.06.11, 15:50) необходимо зарегистрироваться для просмотра ссылки
(Общий реквизит документов), который необходимо выводить в этом отчете. Ньюанс таков, Этот реквизит для каждого документа ОДИН, а в документе много разных кодов. Вот я не соображу как сделать так, чтобы в отчет выводились все коды с планами и если код повторяется (а он будет повторяться),чтобы или в две разные строки или еще как-то выводилось примечание


ну так отчет перебирает документы - при получении документа и забирайте в переменную значение примечания - какие проблемы?
wmatik
сделала запросом, только вот теперь новая проблема, в документе ПланЗакупок по месяцам ставится сумма плана, вот надо эту сумму, общую по всем месяцам выводить.Общая сумма есть в документе по каждому коду, выводится в табличной части свойство ТЕКСТ. Если бы реквизит, можно было бы передать, а так как? Вот мой код:
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |КодДК = Документ.ПланЗакупок.КодДК;
    |Примечание = Документ.ПланЗакупок.Примечание;
    |Группировка КодДК;
    |Группировка Примечание;
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей КодДК
        ТекДок = Запрос.КодДК;
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей Примечание
            ТекПрим = Запрос.Примечание;
            Таб.ВывестиСекцию("Секция_1");
        КонецЦикла;
    КонецЦикла;

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры
-=VJ=-
Цитата(wmatik @ 23.06.11, 22:19) необходимо зарегистрироваться для просмотра ссылки
сделала запросом,


Не понимаю я, зачем такие мучения.

ТаблицаЗначений
ВыбратьДокументы
ВыбратьСтроки
Свернуть
Вывести в отчет

Делов-то...

А если уж в запросе, то почему нельзя просто добавить

СуммаДК = Документ.ПланЗакупок.Сумма;
wmatik
Отвечаю на первый вопрос, я еще не сильна в выборе методов, каким проще решить ту или иную задачу, на второй вопрос: реквизита Сумма в документе нет
5_kopeek
Реквизит Примечание, скорее всего, строка неограниченной длины, а при работе с такими реквизитами в запросах есть нюансы.
-=VJ=-
Цитата(wmatik @ 23.06.11, 23:11) необходимо зарегистрироваться для просмотра ссылки
на второй вопрос: реквизита Сумма в документе нет


А вот это что?

Цитата
в документе ПланЗакупок по месяцам ставится сумма плана
wmatik
ну да, а как сложить сумму всех месяцов? создавать дополнительный реквизит?

Общи

У общего реквизита Примечание длина ограничена
-=VJ=-
Цитата(wmatik @ 24.06.11, 9:16) необходимо зарегистрироваться для просмотра ссылки
ну да, а как сложить сумму всех месяцов? создавать дополнительный реквизит?


А функцию в запрос что запрещает добавить?
wmatik
уже сделала,Спасибо
kalyamov
Цитата(-=VJ=- @ 23.06.11, 23:02) необходимо зарегистрироваться для просмотра ссылки
Не понимаю я, зачем такие мучения.

ТаблицаЗначений
ВыбратьДокументы
ВыбратьСтроки
Свернуть
Вывести в отчет


Мучение как раз с вариантом ТЗ, особенно, если человек только начинает сам разбираться.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.