Показаны сообщения с ярлыком ПостроительОтчета. Показать все сообщения
Показаны сообщения с ярлыком ПостроительОтчета. Показать все сообщения

среда, 10 мая 2017 г.

Использование запроса к таблице значений в построителе отчетов


Построитель отчетов очень удобен для использования интерактивных отборов. Но в построитель отчетов нельзя передавать в запрос таблицу значений. 

Приведенный ниже код позволяет обойти ограничение:

четверг, 16 февраля 2017 г.

1С Построитель отчета - представление доступных полей

Для вывода представления полей в отборе на "человеческом языке", т.е. с пробелами необходимо использовать следующий программный код:

        Построитель.ЗаполнитьНастройки();

четверг, 19 января 2017 г.

1С Построитель отчета - убрать поле из доступных полей отбора.

Что бы скрыть поле из доступных полей в отборе построителя отчета, необходимо программно выполнить код.

Например: необходимо скрыть поле "ДокументПоступления":

вторник, 2 августа 2016 г.

Запрос, по всем документам, у которых есть общий реквизит




Запрос формируется динамически, по всем документам, у которых имеется общий реквизит "Организация".

 
Процедура Инициализация()
 
 Исключения = Новый Массив;
 Исключения.Добавить("ЗаявкаНаДоставку");
 Исключения.Добавить("ЗаказПокупателя");
 Исключения.Добавить("ЧекККМ");
 
 ТаблицаДокументов = Новый ТаблицаЗначений;
 ТаблицаДокументов.Колонки.Добавить("Имя");
 ТаблицаДокументов.Колонки.Добавить("Реквизит");
 

вторник, 28 июня 2016 г.

Быстрый вывод результат запроса в табличный документ с помощью построителя


ТекстЗапроса = "ВЫБРАТЬ * ИЗ Справочник.Пользователи";                         
ЗапросаДанных = Новый Запрос(ТекстЗапроса);
РезЗапроса = ЗапросаДанных.Выполнить();

ТабДокумент = Новый ТабличныйДокумент;
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(РезЗапроса);
Построитель.ВыводитьЗаголовокОтчета = Ложь;
Построитель.ВыводитьШапкуТаблицы = Ложь;
Построитель.ВыводитьПодвалОтчета = Ложь;
Построитель.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.Расшифровка;
Построитель.Вывести(ТабДокумент);
ТабДокумент.ТолькоПросмотр = Истина;
ТабДокумент.Показать("Пользователи");

пятница, 27 ноября 2015 г.

При задвоении в запросе с соединением 2 таблиц - ставить МИНИМУМ

При задвоении в запросе с соединением 2 таблиц - ставить МИНИМУМ.
Либо может быть необходимо вместо соединения  - использовать ОБЪЕДИНИТЬ ВСЕ, не забыв в ролях указать игнорировать NULL...

понедельник, 30 марта 2015 г.

Копирование отборов построителя отчета

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

четверг, 15 мая 2014 г.

1с Посчитать процент в запросе

Процент считается в итогах.
В примере указан расчет процента Просроченной суммы к Общей сумме:

|ИТОГИ
    |    СУММА(Оплата),
    |    СУММА(Текущая),
    |    СУММА(Просрочено),
    |    ВЫБОР
    |        КОГДА СУММА(Месяц1) + СУММА(Месяц2) + СУММА(Месяц3) + СУММА(Итого) <> 0
    |            ТОГДА ВЫРАЗИТЬ(СУММА(Просрочено) / (СУММА(Месяц1) + СУММА(Месяц2) + СУММА(Месяц3) + СУММА(Итого)) * 100 КАК ЧИСЛО(15, 2))
    |        ИНАЧЕ 0
    |    КОНЕЦ КАК Процент,

    |    СУММА(Итого),
    |    СУММА(Месяц1),
    |    СУММА(Месяц2),
    |    СУММА(Месяц3),
    |    СУММА(Месяц1) + СУММА(Месяц2) + СУММА(Месяц3) + СУММА(Итого) КАК Общая
    |ПО
    |    ОБЩИЕ,
    |    ВидПокупателя,
    |    Регион,
    |    Менеджер,
    |    Контрагент,
    |    Договор,
    |    Документ
...

вторник, 2 октября 2012 г.

1с Отбор изменений из плана обмена с помощью запроса

Построитель1 = Новый ПостроительОтчета;
    Построитель1.Текст ="
    |ВЫБРАТЬ
|    0 КАК Ном,
|    ИСТИНА КАК Выгружать,
|    РеализацияТоваровУслугИзменения.Ссылка.ДатаОтгрузки КАК Дата,
|    ""РеализацияТоваровУслуг"" КАК Вид,
|    РеализацияТоваровУслугИзменения.Ссылка.Номер КАК Номер,
|    РеализацияТоваровУслугИзменения.Ссылка
|ИЗ

пятница, 28 сентября 2012 г.

Использование УсловноеОформление в построителе отчета

Необходимо было изменить формат даты в выходной форме отчета, сделанного с помощью построителя отчета:
УслФорм = ПостроительОтчетаОтчет.УсловноеОформление;
    Если УслФорм.Количество()=0 Тогда
        УслФормК = УслФорм.Добавить("Количество","Количество");
        УслФормК.Заголовок="Количество";
        УслФормК.Имя = "Количество";
        УслФормК.Использование = Истина;
        УслФормК.Область.Добавить("Количество",,ТипОбластиОформления.Поле);
        УслФормК.Область.Добавить("Количество45",,ТипОбластиОформления.Поле);
      
        Отбор = УслФормК.Отбор;
        НовОтбор = Отбор.Добавить("РазницаК");
        НовОтбор.ВидСравнения=ВидСравнения.НеРавно;
        НовОтбор.Значение=0;
        НовОтбор.Использование=Истина;
      
        Формат_ = УслФормК.Оформление.ЦветФона;
        Формат_.использование = Истина;
        Формат_.Значение = WebЦвета.Красный;
      
        УслФормС = УслФорм.Добавить("Сумма","Сумма");
        УслФормС.Заголовок="Сумма";
        УслФормС.Имя = "Сумма";
        УслФормС.Использование = Истина;
        УслФормС.Область.Добавить("Сумма",,ТипОбластиОформления.Поле);
        УслФормС.Область.Добавить("Сумма45",,ТипОбластиОформления.Поле);
      
        Отбор = УслФормС.Отбор;
        НовОтбор = Отбор.Добавить("РазницаС");
        НовОтбор.ВидСравнения=ВидСравнения.НеРавно;
        НовОтбор.Значение=0;
        НовОтбор.Использование=Истина;
      
        Формат_ = УслФормС.Оформление.ЦветФона;
        Формат_.использование = Истина;
        Формат_.Значение = WebЦвета.Красный;
    КонецЕсли;