Имя: Пароль:
1C
1С v8
Универсальный запрос вставил примитивный запрос но не выдает ничего, в чем я лох
0 skt-roman
 
16.09.21
20:01
Универсальный запрос вставил примитивный запрос но не выдает ничего, в чем я лох

Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
    
    // Дополнительные параметры, переданные из отчета, вызвавшего расшифровку.
    // Информация, передаваемая в переменной ДополнительныеПараметры, может быть использована
    // для реализации специфичных для данного отчета параметрических настроек.
    
    
    
    // Настройка общих параметров универсального отчета
    УправлениеОтчетами.ВосстановитьРеквизитыОтчета(ЭтотОбъект, ДополнительныеПараметры);
    
    // Содержит название отчета, которое будет выводиться в шапке.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
    УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
    
    // Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИмяРегистра = Истина;
    УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    
    // Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
    
    // Содержит значение используемого режима ввода периода.
    // Тип: Число.
    // Возможные значения: 0 - произвольный период, 1 - на дату, 2 - неделя, 3 - декада, 4 - месяц, 5 - квартал, 6 - полугодие, 7 - год
    // Значение по умолчанию: 0
    // Пример:
    // УниверсальныйОтчет.мРежимВводаПериода = 0;
    
//УниверсальныйОтчет.мРежимВводаПериода = 0;


    // Содержит признак необходимости вывода отрицательных значений показателей красным цветом.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
    
//УниверсальныйОтчет.ОтрицательноеКрасным = ЛОЖЬ;
    
    // Содержит признак необходимости вывода в отчет общих итогов.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь;
    
//УниверсальныйОтчет.ВыводитьОбщиеИтоги = ЛОЖЬ;
    
    // Содержит признак необходимости вывода детальных записей в отчет.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
    
//УниверсальныйОтчет.ВыводитьДетальныеЗаписи = ЛОЖЬ;
    
    // Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь;
    
//УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = ЛОЖЬ;

    // Содержит признак использования свойств и категорий при заполнении настроек отчета.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;
    
//УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = ЛОЖЬ;

    
    // Содержит признак использования простой формы настроек отчета без группировок колонок.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;
    
//УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = ЛОЖЬ;
    
    
    
    ТекстЗапроса = " ВЫБРАТЬ
|    ЗаказПокупателя.Ссылка КАК Заказ
|
|
|ИЗ
|    Документ.ЗаказПокупателя КАК ЗаказПокупателя
|    ЛЕВОЕ СОЕДИНЕНИЕ  Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|    ПО ЗаказПокупателя.ССылка = РеализацияТоваровУслуг.Сделка
|ГДЕ
|    ЗаказПокупателя.Проведен
|    И РеализацияТоваровУслуг.Ссылка ЕСТЬ NULL
|    //и ЗаказПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода ";
    
        
    // Инициализация текста запроса построителя отчета
    УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;

    // Необходимо вызывать для каждого поля запроса.
    // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
    //УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Подразделение",            "Подразделение");
    //УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("НоменклатурнаяГруппа",     "Номенклатурная группа");
    
           УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Заказ","Заказ покупателя");

    
    // Добавление показателей
    // Необходимо вызывать для каждого добавляемого показателя.
    // УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
    
    // Добавление предопределенных группировок строк отчета.
    // Необходимо вызывать для каждой добавляемой группировки строки.
    // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
    //УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ЗаказПокупателя");
    
    
    // Добавление предопределенных группировок колонок отчета.
    // Необходимо вызывать для каждой добавляемой группировки колонки.
    // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
    
    
    // Добавление предопределенных отборов отчета.
    // Необходимо вызывать для каждого добавляемого отбора.
    // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
        

    // Добавление настроек сортировки отчета.
    // Необходимо вызывать для каждого поля порядка.
    //ДобавитьПорядок(ПутьКДанным, Знач Направление = Неопределено);
        


    // Установка связи подчиненных и родительских полей
    // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДанным>);
    
    // Установка связи полей и измерений
    // УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>);


    // Установка представлений полей
    УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);
    
    // Установка типов значений свойств в отборах отчета
    УниверсальныйОтчет.УстановитьТипыЗначенийСвойствДляОтбора();
    
    // Заполнение начальных настроек универсального отчета
    УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь);
    
    // Добавление дополнительных полей
    // Необходимо вызывать для каждого добавляемого дополнительного поля.
    //УниверсальныйОтчет.ДобавитьДополнительноеПоле("НомерЗадания", ТипРазмещенияРеквизитовИзмерений.Отдельно, 3);
    
           УниверсальныйОтчет.ДобавитьДополнительноеПоле("ЗаказПокупателя", ТипРазмещенияРеквизитовИзмерений.Отдельно, 3);    


КонецПроцедуры // УстановитьНачальныеНастройки()
1 youalex
 
16.09.21
20:13
Можно в отладке посмотреть, какой запрос в итоге формирует Построитель:

ПостроительОтчета (ReportBuilder)
ПолучитьЗапрос (GetQuery)
Синтаксис:
ПолучитьЗапрос()
Возвращаемое значение:
Тип: Запрос.
2 1Сергей
 
16.09.21
20:13
Необходимо отобрать все проведенные заказы, которые не указаны ни в одной РТУ?
3 lubitelxml
 
16.09.21
20:16
(2) если было ВНУТРЕННЕЕ СОЕДИНЕНИЕ, то да, а тут ЛЕВОЕ... непонятно зачем
4 hhhh
 
16.09.21
20:18
может у него во всех рту заказ указан.
5 skt-roman
 
16.09.21
20:50
Господа через консоль запросов все работает, а через универсальный отчет нуль
6 skt-roman
 
16.09.21
20:51
Каких параметров не хватает не пойму
7 skt-roman
 
16.09.21
20:55
Запрос примитивный
8 Ёпрст
 
16.09.21
21:38
(0)  УниверсальныйОтчет.ДобавитьДополнительноеПоле("ЗаказПокупателя"

нет такого поля
9 skt-roman
 
16.09.21
21:56
(8)
Отлично ну поменял
УниверсальныйОтчет.ДобавитьДополнительноеПоле("Заказ", ТипРазмещенияРеквизитовИзмерений.Отдельно, 3);    

но толку никакого
10 Ёпрст
 
16.09.21
22:25
(9) отладчиком проверить, какой текст запроса у построителя
11 Ёпрст
 
16.09.21
22:29
ну и так еще, до кучи:

ТекстЗапроса = " ВЫБРАТЬ
|    ЗаказПокупателя.Ссылка КАК Заказ
|{ Выбрать Заказ.*}
12 skt-roman
 
16.09.21
22:32
(10) запрос простейший, в консоли все окей, а в универсальном нет, текст запроса там что меняется?
13 Ёпрст
 
16.09.21
22:44
(12) если не установлены поля, то да..
14 skt-roman
 
17.09.21
11:07
Так и не понял что именно поправить
15 VladZ
 
17.09.21
11:11
(0) Сделай на СКД и забей на УниверсальныйОтчет
16 1Сергей
 
17.09.21
11:11
(3) Еслу у него в ГДЕ прописано условие ко второй таблице, то похер, левое там или правое - превратиться во внутреннее
17 hhhh
 
17.09.21
11:11
(14) наверно, как в скд. Описать список группировок, список выбранных полей и так далее.
18 successful
 
17.09.21
11:29
в запросе не указал поля,условия и прочие инструкции для построителя...
19 Ёпрст
 
17.09.21
11:38
(14) как в (11) для начала.
Аналогично для условий, сортировок и т.д.
20 youalex
 
17.09.21
11:38
(14) посмотри (1) перед ПостроительОтчета.Выполнить()
Можешь там же сразу рассчитать ПостроительОтчета.ПолучитьЗапрос().Выполнить().Пустой()
Если пустой - кури текст запроса и параметры в ПостроительОтчета.ПолучитьЗапрос()
А так можно до бесконечности гадать.
21 skt-roman
 
17.09.21
12:02
(18) Запрос примитивный, что там еще нужно добавить?
22 Ёпрст
 
17.09.21
12:04
(21) см (11)
23 skt-roman
 
17.09.21
12:04
(19)
Добавление
|{ Выбрать Заказ.*}
Не дает результата
24 Ёпрст
 
17.09.21
12:05
в отладчике, перед выполнить() какой текст запроса имеет построитель ? С каими параметрами ?
25 skt-roman
 
17.09.21
12:08
(24) Как посмотреть?
26 skt-roman
 
17.09.21
12:12
Вылетает по
Функция ВыводВозможен()
    
    Результат = Истина;
    
    Если ПостроительОтчета.ИзмеренияСтроки.Количество() = 0 И ПостроительОтчета.ИзмеренияКолонки.Количество() = 0 И ПостроительОтчета.ВыбранныеПоля.Количество() = 0 Тогда
        
        Результат = Ложь;
        
    КонецЕсли;
    
    Возврат Результат;
27 successful
 
17.09.21
12:18
ВЫБРАТЬ
    ЗаказПокупателя.Ссылка КАК Заказ
{ВЫБРАТЬ
    Заказ.*}
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПО ЗаказПокупателя.Ссылка = РеализацияТоваровУслуг.Сделка
ГДЕ
    ЗаказПокупателя.Проведен
    И РеализацияТоваровУслуг.Ссылка ЕСТЬ NULL
{ГДЕ
    ЗаказПокупателя.Ссылка.*}
{УПОРЯДОЧИТЬ ПО
    Заказ.*}
ИТОГИ ПО
    ОБЩИЕ
{ИТОГИ ПО
    Заказ.*}
28 skt-roman
 
17.09.21
12:18
В построителе запрос

ВЫБРАТЬ
    ЗаказПокупателя.Ссылка КАК Заказ
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПО ЗаказПокупателя.Ссылка = РеализацияТоваровУслуг.Сделка
ГДЕ
    ЗаказПокупателя.Проведен
    И РеализацияТоваровУслуг.Ссылка ЕСТЬ NULL
29 вым
 
17.09.21
12:20
РеализацияТоваровУслуг.Ссылка ЕСТЬ NULL

сюда копай
30 skt-roman
 
17.09.21
12:23
(29) В консоли все работает, в универсальном отчете нет
31 skt-roman
 
17.09.21
12:25
(27) Дохлый бобик, не работает, попробовал
32 вым
 
17.09.21
12:27
(30) тебе интересно почему там работает, а там нет или же тебе надо чтобы просто работало? ... думаем))
33 successful
 
17.09.21
12:28
ВСЕ РАБОТАЕТ!!!


// Процедура установки начальных настроек отчета с использованием текста запроса
//
Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
    
    // Настройка общих параметров универсального отчета
    
    // Содержит название отчета, которое будет выводиться в шапке.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
    УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
    
    // Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    
    // Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
    
    // Содержит признак необходимости вывода отрицательных значений показателей красным цветом.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
    
    // Содержит признак необходимости вывода в отчет общих итогов.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь;
    
    // Содержит признак необходимости вывода детальных записей в отчет.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
    
    // Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь;
    //УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Истина;
    
    // Содержит признак использования свойств и категорий при заполнении настроек отчета.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;
    
    // Содержит признак использования простой формы настроек отчета без группировок колонок.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;
    
    // Дополнительные параметры, переданные из отчета, вызвавшего расшифровку.
    // Информация, передаваемая в переменной ДополнительныеПараметры, может быть использована
    // для реализации специфичных для данного отчета параметрических настроек.
    
    // Описание исходного текста запроса.
    ТекстЗапроса =
    "ВЫБРАТЬ
    |    ЗаказПокупателя.Ссылка КАК Заказ
    |{ВЫБРАТЬ
    |    Заказ.*}
    |ИЗ
    |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |        ПО ЗаказПокупателя.Ссылка = РеализацияТоваровУслуг.Сделка
    |ГДЕ
    |    ЗаказПокупателя.Проведен
    |    И РеализацияТоваровУслуг.Ссылка ЕСТЬ NULL
    |{ГДЕ
    |    ЗаказПокупателя.Ссылка.*}
    |{УПОРЯДОЧИТЬ ПО
    |    Заказ.*}
    |ИТОГИ ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    Заказ.*}";

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

    // Добавление предопределенных группировок строк отчета.
    // Необходимо вызывать для каждой добавляемой группировки строки.
    // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
//    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");
    
    // Добавление предопределенных группировок колонок отчета.
    // Необходимо вызывать для каждой добавляемой группировки колонки.
    // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
    
    // Добавление предопределенных отборов отчета.
    // Необходимо вызывать для каждого добавляемого отбора.
    // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
    
    // Добавление предопределенных полей порядка отчета.
    // Необходимо вызывать для каждого добавляемого поля порядка.
    // УниверсальныйОтчет.ДобавитьПорядок(<ПутьКДанным>);
    
    // Установка связи подчиненных и родительских полей
    // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДаннымРодитель>);
    
    // Установка связи полей и измерений
    // УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>);
    
    // Установка представлений полей
    УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);
    
    // Установка типов значений свойств в отборах отчета
    УниверсальныйОтчет.УстановитьТипыЗначенийСвойствДляОтбора();
    
    // Заполнение начальных настроек универсального отчета
    УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь);
    
    // Добавление дополнительных полей
    // Необходимо вызывать для каждого добавляемого дополнительного поля.
    // УниверсальныйОтчет.ДобавитьДополнительноеПоле(<ПутьКДанным>, <Размещение>, <Положение>);
    
КонецПроцедуры // УстановитьНачальныеНастройки()
34 skt-roman
 
17.09.21
12:33
(33) вставил целиком эту процедуру, но не работает
35 skt-roman
 
17.09.21
12:35
мой простенький запрос в консоли работает, а вот в универсальном отчете нет, чего не хватает?
36 Gucci76
 
17.09.21
12:40
Я в ЗУП не так работаю с универсальным отчетом - я в толстом клиенте через ЕЩЕ открываю схему отчета.
37 successful
 
17.09.21
12:42
а ты в отчете  в режиме  предприятия добавил заказ в группировке строк
38 skt-roman
 
17.09.21
12:49
(37) Добавил
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Заказ");

Помогло
39 серый КТУЛХУ
 
17.09.21
13:02
Перенечи условие на null связанной таблицы из фильтра выборки в условие связи:
    |ИЗ
    |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |        ПО ЗаказПокупателя.Ссылка = РеализацияТоваровУслуг.Сделка
    |        И РеализацияТоваровУслуг.Ссылка ЕСТЬ NULL
    |ГДЕ
    |    ЗаказПокупателя.Проведен
40 hhhh
 
17.09.21
13:42
(39) нет, там всё правильно, именно эту строчку нужно в ГДЕ.
41 skt-roman
 
17.09.21
17:21
(37) строки в запросе {} все создаются вручную?
42 Kassern
 
17.09.21
17:22
(41) речь про характеристики? Если так, то в конструкторе можно добавить
43 Kassern
 
17.09.21
17:26
(42) так же параметры виртуальной таблицы на вкладке компоновки данных так же {} проставляет. Можно и в основных параметрах вручную в скобки заключить, тогда автоматом перейдет в вкладку компоновки.
44 DrShad
 
18.09.21
09:38
делай отчет на СКД и не парь себе и людям мозг