7.7 Проблема с Запросами

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем murik, 18 дек 2007.

  1. TopicStarter Overlay
    murik
    Offline

    murik

    Регистрация:
    16 дек 2007
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте! У меня проблема с запросом, не могу понять почему запрос не выполняет весь поиск,
    Тоесть при Группировке"ВР", он не выдает всех видов расчетов, а только те которые входчят в группу "Начисление", подскажите как исправить и раскжите в чем моя ошибка.
    Текст программы


    Код:
    Процедура Сформировать()
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Расчетная Ведомость"); 
    //**
    ВРЗапрос = СоздатьОбъект("Запрос");
    Если ВРЗапрос.Выполнить(
    "//{{ЗАПРОС(ВРЗапрос)
    |Период с {ДатаАктуальности} по {ДатаАктуальности};
    |ВР = ЖурналРасчетов.Зарплата.ВидРасч;
    |Рез = ЖурналРасчетов.Зарплата.Результат;  
    |Дн = ЖурналРасчетов.Зарплата.Дни;
    |ДнО = ЖурналРасчетов.Зарплата.ДниО; 
    |ДнБ = ЖурналРасчетов.Зарплата.ДниБ;   
    |ДнП = ЖурналРасчетов.Зарплата.ДниП; 
    |ДнК = ЖурналРасчетов.Зарплата.ДниК; 
    |Подр = ЖурналРасчетов.Зарплата.Объект.Подразделение;
    |Условие(ПринадлПодмножеству(Подр,Подразделение)=1);
    |Условие(Рез<>0);
    
    </span>
    |Условие((ВР.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1)ИЛИ(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1));
    |Группировка ВР Упорядочить по ВР.Очередность;
    |Функция Результат = Сумма(Рез);
    |"//}}ЗАПРОС
    ) = 0 <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">Тогда
    Возврат;
    КонецЕсли;
    //**
    Запрос = СоздатьОбъект("Запрос");
    ТЗ = 
    "
    |Период с {ДатаАктуальности} по {ДатаАктуальности};
    |Сотр = ЖурналРасчетов.Зарплата.Объект;  
    |ВР = ЖурналРасчетов.Зарплата.ВидРасч; 
    |Рез = ЖурналРасчетов.Зарплата.Результат;
    //    |Оконч = ЖурналРасчетов.Зарплата.ДатаОкончания; 
    |Дни = ЖурналРасчетов.Зарплата.Дни;
    |ДниО = ЖурналРасчетов.Зарплата.ДниО; 
    |ДниБ = ЖурналРасчетов.Зарплата.ДниБ;   
    |ДниП = ЖурналРасчетов.Зарплата.ДниП; 
    |ДниК = ЖурналРасчетов.Зарплата.ДниК; 
    |Подр = ЖурналРасчетов.Зарплата.Объект.Подразделение;
    |Условие((ВР.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1)ИЛИ(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1));    
    |Условие(Рез<>0); 
    |";     
    Если УпПодр=1 Тогда
    ТЗ=ТЗ+"
    |Группировка Подр Упорядочить по Подр.Наименование Без групп;";
    ИначеЕсли УпФам=1 Тогда
    ТЗ=ТЗ+"
    |Группировка Сотр Упорядочить По Сотр.Наименование Без Групп;";
    Иначе
    ТЗ=ТЗ+"  
    |Группировка Сотр Упорядочить По Сотр.Код Без Групп;";
    КонецЕсли;
    
    ТЗ=ТЗ+"
    //    |Группировка Оконч;  
    //    |Группировка ВР; 
    |Функция Нач_м = Сумма(Рез)КОГДА(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);";
    
    ТЗ=ТЗ+"
    |Группировка ВР Упорядочить по ВР.Очередность;
    |";
    
    Если Запрос.Выполнить(ТЗ)=0 Тогда                               
    Возврат;
    КонецЕсли;   
    Сот=СоздатьОбъект("Справочник.Сотрудники");
    Сот.ВыбратьЭлементы();
    Кон=Константа.МЗ.Получить(РабочаяДата());  
    МРП=Константа.МинимальнаяЗарплата.Получить(РабочаяДата());   
    НомерПП=0;
    Таб.ВывестиСекцию("Шапка"); 
    Пока Запрос.Группировка("Сотр")=1 Цикл   
    ////  **решение*****
    Пока ВРЗапрос.Группировка("ВР")=1 Цикл   
    ////  **решение*****                
    КонецЦикла; 
    
    Таб.ВывестиСекцию("Строка");
    
    КонецЦикла;
    Таб.ВывестиСекцию("Подвал");  
    //*************************************************************************************    
    Таб.Опции(0,0,0,0);
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Расчетная Ведомость");
    КонецПроцедуры
    
    Используйте тэг
    Код:
    [/color]
  2. FLY_BYTE
    Offline

    FLY_BYTE

    Регистрация:
    27 дек 2007
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    |Условие((ВР.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1)ИЛИ(ВР.ВходитВГруппу(ГруппаРасчетов.ВсеУдержания)=1));


    Зачем????
    с какой целью???
    проблема в этой строчке...
    ковыряй...
    а вообще убери....

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