8.х Вычисляемый столбец для запроса

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

  1. TopicStarter Overlay
    worf
    Offline

    worf

    Регистрация:
    21 июл 2011
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, для Бухгалтерии 8.2 конструктором запросов состряпал вот это:
    Код:
    Макет = ОтчетОбъект.ПолучитьМакет("Отчет");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ХозрасчетныйОстатки.Счет КАК Счет,
    | ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
    | ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
    | ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
    | ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт,
    | ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт,
    | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
    | ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
    |ИЗ
    | РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних,
    | РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
    |ГДЕ
    | ХозрасчетныйОстатки.Субконто2 В ИЕРАРХИИ(&ВыбСклад)
    |
    |СГРУППИРОВАТЬ ПО
    | ХозрасчетныйОстатки.Субконто1,
    | ХозрасчетныйОстатки.Счет,
    | ХозрасчетныйОстатки.Субконто2,
    | ХозрасчетныйОстатки.Субконто3,
    | ХозрасчетныйОстатки.СуммаОстатокДт,
    | ХозрасчетныйОстатки.СуммаОстатокКт,
    | ХозрасчетныйОстатки.СуммаОстаток,
    | ХозрасчетныйОстатки.КоличествоОстаток,
    | ЦеныНоменклатурыСрезПоследних.Цена
    |
    |УПОРЯДОЧИТЬ ПО
    | Счет,
    | Субконто1,
    | Субконто2,
    | Субконто3,
    | СуммаОстатокДт,
    | СуммаОстатокКт,
    | Цена
    |ИТОГИ ПО
    | Субконто1,
    | СуммаОстаток,
    | КоличествоОстаток,
    | СуммаОстатокДт,
    | СуммаОстатокКт";
    
    Запрос.УстановитьПараметр("ВыбСклад",Склад);
    
    
    
    Результат = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    КолНач = 0;
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    Инфу, пусть и без группировки он выводит по нужному складу, пусть коряво но для примера мне пока хватает. Попытался добавить какое нибудь вычисляемое поле, типа есть кол-во и есть цена, пусть посчитает сумму в новом столбце, не получилось. Делал через МакетПолучитьКолонка не прокатило. Подскажите, а если можно то и покажите на примере готового отчёта, что и как.
    Заранее спасибо.
  2. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    А что конкретно не получилось, пример покажите что продовали сделать и это не работает
  3. Dmitriy_76
    Offline

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

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    если правильно тебя понял то так :


    Код:
      "ВЫБРАТЬ
    | ХозрасчетныйОстатки.Счет КАК Счет,
    | ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
    | ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
    | ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
    | ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт,
    | ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт,
    | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
    | ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    | (ХозрасчетныйОстатки.КоличествоОстаток*ЦеныНоменклатурыСрезПоследних.Цена) КАК ВычесланнаяСумма    //вот например так
    
    
  4. TopicStarter Overlay
    worf
    Offline

    worf

    Регистрация:
    21 июл 2011
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Спасибо за пример! Экспериментирую дальше)

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