8.х Отчёт по Поступлению в УТ 10.2

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

  1. TopicStarter Overlay
    Mamont_SXI
    Offline

    Mamont_SXI Опытный в 1С

    Регистрация:
    30 дек 2011
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Всем привет! С Праздником.
    Не могу ни как через построитель создать отчёт что бы от выводил список номенклатуры и её цену и ещё пару колонок(их я знаю как добавить) из выбранного документа Поступление товаров и услуг либо за период.

    Подскажите как лучше сделать, потому как у меня выводится весь список номенклатуры из справочника.
  2. TopicStarter Overlay
    Mamont_SXI
    Offline

    Mamont_SXI Опытный в 1С

    Регистрация:
    30 дек 2011
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Извиняюсь что не писал, был занят.
    Короче у меня получилось вывести значения.
    но до конца ещё решения задачи не дошёл.
    Необходимо вместо одного столбца из документа вставить запрос что бы он оскал инфо по предыдущим документам.

    Выкладываю запрос из построителя что есть


    Код:
    ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка КАК Документ,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка,
    ПоступлениеТоваровУслугТовары.НомерСтроки,
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.КоличествоМест,
    ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения,
    ПоступлениеТоваровУслугТовары.ЕдиницаИзмеренияМест,
    ПоступлениеТоваровУслугТовары.Коэффициент,
    ПоступлениеТоваровУслугТовары.Количество,
    ПоступлениеТоваровУслугТовары.Цена,
    ПоступлениеТоваровУслугТовары.Сумма,
    ПоступлениеТоваровУслугТовары.СтавкаНДС,
    ПоступлениеТоваровУслугТовары.СуммаНДС,
    ПоступлениеТоваровУслугТовары.СерияНоменклатуры,
    ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры,
    ПоступлениеТоваровУслугТовары.ЗаказПокупателя,
    ПоступлениеТоваровУслугТовары.Проект,
    ПоступлениеТоваровУслугТовары.Склад,
    ПоступлениеТоваровУслугТовары.ПриходныйОрдер,
    ПоступлениеТоваровУслугТовары.ШтрихКод,
    ПоступлениеТоваровУслугТовары.ПредыдущаяЦена,
    ПоступлениеТоваровУслугТовары.ЦенаБезТранспортныхРасходов,
    ПоступлениеТоваровУслугТовары.СуммаБезТранспортныхРасходов
    ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
    ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка
    

    и то что надо в него как минимум внедрить

    это у меня в документе делалось

    Код:
    Процедура ЗаполнитьПоследнююЦенуЗакупки(СтрокаТабличнойЧасти, ЭтотОбъект)
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Дата", Дата-1);
    Запрос.УстановитьПараметр("ДатаНач", Дата("20110801"));
    Запрос.УстановитьПараметр("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);
    Запрос.УстановитьПараметр("ХарактеристикиНоменклатуры", СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры);
    Запрос.УстановитьПараметр("ТипЦен", Константы.ТипЦенПлановойСебестоимостиНоменклатуры.Получить());
    
    
    //Семён    
    
    Запрос.Текст = 
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    ЗакупкиОбороты.Номенклатура КАК Номенклатура,
    |    ЗакупкиОбороты.ДокументЗакупки.Дата КАК ДокументЗакупкиДата,
    |    ЗакупкиОбороты.ДокументЗакупки КАК Док,
    |    ПоступлениеТоваровУслугТовары.ЦенаБезТранспортныхРасходов,
    |    ЦеныНоменклатурыСрезПоследних.Цена,
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен
    |ИЗ
    |    РегистрНакопления.Закупки.Обороты(&ДатаНач, &Дата, Регистратор, ) КАК ЗакупкиОбороты
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    |        ПО ЗакупкиОбороты.ДокументЗакупки = ПоступлениеТоваровУслугТовары.Ссылка,
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
    |            &Дата,
    |            Номенклатура = &Номенклатура
    |                И ТипЦен = &ТипЦен
    |                И ХарактеристикаНоменклатуры В (&ХарактеристикиНоменклатуры)) КАК ЦеныНоменклатурыСрезПоследних
    |
    |ГДЕ
    |    ЗакупкиОбороты.Номенклатура = &Номенклатура
    |    И ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
    |    И ПоступлениеТоваровУслугТовары.Номенклатура = &Номенклатура
    |
    |УПОРЯДОЧИТЬ ПО
    |    ДокументЗакупкиДата УБЫВ,
    |    ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры УБЫВ";
    
    
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий()
    Тогда
    Если Выборка.ЦенаБезТранспортныхРасходов=0 тогда
    СтрокаТабличнойЧасти.ПредыдущаяЦена=Выборка.Цена;
    Иначе 
    СтрокаТабличнойЧасти.ПредыдущаяЦена=Выборка.ЦенаБезТранспортныхРасходов;
    КонецЕсли;
    Сообщить("Цена = "+СтрокаТабличнойЧасти.ПредыдущаяЦена+" на момент "+(Дата-1)+" дата док "+Выборка.ДокументЗакупкиДата);
    КонецЕсли;
    
    
    КонецПроцедуры
    



    Прикладываю сам примерный отчёт

    Вложения:

  3. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Код:
    Функция ПолучитьРезультатЗапроса_Запрос1()
    
    //Текст сформирован автоматически обработкой Универсальная консоль отчетов 2.7.7
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |	ПоступлениеТоваровУслугТовары.Ссылка КАК Ссылка,
    |	ПоступлениеТоваровУслугТовары.Цена КАК ЦенаПоДокументу,
    |	ПоступлениеТоваровУслугТовары.Количество КАК КоличествоПоДокументу,
    |	ЦеныНоменклатурыСрезПоследних.Цена КАК УстановочнаяЦена,
    |	ПоступлениеТоваровУслугТовары.Номенклатура
    |ИЗ
    |	Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза, ) КАК ЦеныНоменклатурыСрезПоследних
    |		ПО ПоступлениеТоваровУслугТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |ГДЕ
    |	ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
    |	И ПоступлениеТоваровУслугТовары.Ссылка В(&Документы)
    |ИТОГИ ПО
    |	Ссылка";
    //Параметры запроса
    Запрос.УстановитьПараметр("ДатаСреза",ДатаСреза);// Дата
    //Параметр список 'Документы'
    // Далее просто список документов, тут просто программное формирование, построитель сам передаст список доков выбранных 
    ПараметрСписок_Документы = Новый СписокЗначений;
    ПараметрСписок_Документы.Добавить();
    ПараметрСписок_Документы.Добавить();
    ПараметрСписок_Документы.Добавить();
    ПараметрСписок_Документы.Добавить();
    ПараметрСписок_Документы.Добавить();
    Запрос.УстановитьПараметр("Документы",ПараметрСписок_Документы);// Список значений
    Запрос.УстановитьПараметр("ТипЦен",);// Справочник ссылка: Типы цен номенклатуры
    Результат = Запрос.Выполнить();
    
    Возврат Результат;
    
    КонецФункции //ПолучитьРезультатЗапроса_Запрос1
    
  4. TopicStarter Overlay
    Mamont_SXI
    Offline

    Mamont_SXI Опытный в 1С

    Регистрация:
    30 дек 2011
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Спасибо, это в модуль надо вставить?

    И как связать это с запросом
  5. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.987
    Симпатии:
    398
    Баллы:
    104
    Это в принципе уже готовый вариант отчета. Это функция, которая возвращает значение.
    Да, пропишите эту процедуру в модуле формы. В процедуре по кнопке сформировать пишите
    Код:
    Выборка = ПолучитьРезультатЗапроса_Запрос1().Выбрать(); 
    Пока Выборка.Следующий() Цикл
    
    // Вот здесь вам необходимо заполнять ваш макет, который будет выводить данные. 
    
    КонецЦикла;
    
    

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