Имя: Пароль:
1C
1С v8
Универсальный отчет,добавление отбора
0 djuzy
 
18.06.14
11:35
Добрый день.Чет универсальный отчет не даеться мне). Не добавляет быстрый отбор... Хоть убей может кто-сталкивался. 8.2 управление тор.пред.укр 1,2. Вот запрос на всяк пожарный.Может прикол именно в нем.... Вот все,что идет в "УстановитьНачальныеНастройки":

УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
УниверсальныйОтчет.ВыводитьОбщиеИтоги = ИСТИНА;
УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;

ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
               |    КлиентыПланОтгрузок.Дата КАК Дата,
               |    КлиентыПланОтгрузок.Менеджер КАК Менеджер,
               |    КлиентыПланОтгрузок.Фирма КАК Фирма,
               |    КлиентыПланОтгрузок.Маршрут КАК Маршрут,
               |    КлиентыПланОтгрузок.Количество КАК Надо,
               |    КлиентыПланОтгрузок.Ссылка.Наименование КАК Наименование,
               |    КлиентыПланОтгрузок.Ссылка.ИНН КАК ИНН,
               |    ВЫБОР
               |        КОГДА КлиентыПланОтгрузок.Дата = Номера.Дата_Загрузки
               |                И КлиентыПланОтгрузок.Маршрут = Номера.Маршрут
               |            ТОГДА КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Номера.Ссылка)
               |        ИНАЧЕ ""0""
               |    КОНЕЦ КАК Поставили,
               |    КлиентыПланОтгрузок.Маршрут.Премичание КАК Премичание,
               |    КлиентыПланОтгрузок.Ссылка КАК Ссылка
               |{ВЫБРАТЬ
               |    Дата,
               |    Менеджер,
               |    Маршрут,
               |    Надо,
               |    Наименование,
               |    ИНН,
               |    Поставили,
               |    Премичание,
               |    Фирма,
               |    Ссылка.*}
               |ИЗ
               |    Справочник.Номера КАК Номера
               |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Клиенты.ПланОтгрузок КАК КлиентыПланОтгрузок
               |        ПО Номера.Маршрут = КлиентыПланОтгрузок.Маршрут
               |ГДЕ
               |    КлиентыПланОтгрузок.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
               |
               |СГРУППИРОВАТЬ ПО
               |    КлиентыПланОтгрузок.Дата,
               |    КлиентыПланОтгрузок.Менеджер,
               |    КлиентыПланОтгрузок.Фирма,
               |    КлиентыПланОтгрузок.Количество,
               |    КлиентыПланОтгрузок.Маршрут,
               |    КлиентыПланОтгрузок.Ссылка.Наименование,
               |    КлиентыПланОтгрузок.Ссылка.ИНН,
               |    Номера.Дата_Загрузки,
               |    Номера.Маршрут,
               |    КлиентыПланОтгрузок.Маршрут.Премичание,
               |    КлиентыПланОтгрузок.Ссылка
               |{УПОРЯДОЧИТЬ ПО
               |    Дата}
               |{ИТОГИ ПО
               |    Дата}";


УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;

УниверсальныйОтчет.ДобавитьПоказатель("Дата", "Дата", Истина, "ДФ=dd.MM.yy", , , 6.75);
УниверсальныйОтчет.ДобавитьПоказатель("Фирма", "Орг для клиента", Истина, , , , 16);
УниверсальныйОтчет.ДобавитьПоказатель("Менеджер", "Менеджер", Истина, , , , 15);
УниверсальныйОтчет.ДобавитьПоказатель("Маршрут", "Маршрут",Истина, , , , 25);
УниверсальныйОтчет.ДобавитьПоказатель("ИНН", "ИНН Клиента", Истина, , , , 15);
УниверсальныйОтчет.ДобавитьПоказатель("Наименование", "Название Клиента", Истина, , , , 25);
УниверсальныйОтчет.ДобавитьПоказатель("Надо", "Требуеться Машин",Истина, , , , 10);
УниверсальныйОтчет.ДобавитьПоказатель("Поставили", "Поставили Машин",Истина, , , , 10);
УниверсальныйОтчет.ДобавитьПоказатель("Премичание", "Премичание",Истина, , , , 55);

УниверсальныйОтчет.ДобавитьОтбор("Фирма");

УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);
1 Chum
 
18.06.14
11:52
// Добавление предопределенных отборов отчета.
    // Необходимо вызывать для каждого добавляемого отбора.
    // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
    УниверсальныйОтчет.ДобавитьОтбор("Заявка");


// из УО
Функция ДобавитьОтбор(ПутьКДанным, Использование = Неопределено, ВидСравнения = Неопределено, Значение = Неопределено, ЗначениеС = Неопределено, ЗначениеПо = Неопределено, ИспользоватьВБыстрыхОтборах = Истина) Экспорт
2 djuzy
 
18.06.14
13:13
Функция в УО стандартная...
Вот код :

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

КонецФункции // ДобавитьОтбор()
3 djuzy
 
18.06.14
13:16
Уже пробывал залить резултат в таблицу.... и через нее вывод-нифига...
4 djuzy
 
18.06.14
13:18
ну и еще 1 момент,который может повлеять-данные со справочника я залил в таблицу,и что бы не гемороиться запрос напрямую с таблицы...
5 John83
 
18.06.14
13:33
дык ты ж в поля построителя отбор добавь чтоль
{ГДЕ Фирма блабла}
6 djuzy
 
18.06.14
13:42
ууууу... ты гений)))) опять ошибка элементарная)))) спс
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн