7.7 Почему запрос берет итог документа?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Asttoxa, 21 июн 2011.

  1. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Не могу понять почему, но запрос берет итоговые значения всех движений документа!
    Запрос такого вида:
    Код:
        ТекстЗапроса = 
    "//{{ЗАПРОС(ПодстчетОстатка)
    |Период с НачОтсчета по (ВыбНачПериода-1);
    |Сотрудник = Регистр.ОплатаТруда.Сотрудник;
    |ТекущийДокумент = Регистр.ОплатаТруда.ТекущийДокумент;
    |Сумма = Регистр.ОплатаТруда.Сумма;
    |Функция СуммаРубНачОст = НачОст(Сумма);
    |Функция СуммаРубПриход = Приход(Сумма);
    |Функция СуммаРубРасход = Расход(Сумма);
    |Функция СуммаРубКонОст = КонОст(Сумма);
    |Группировка ТекущийДокумент;
    |Условие(Сотрудник в ВыбСотрудник);
    |"//}}ЗАПРОС;
    
    
    
    Если в ВыбСотрудник есть сотрудник то все замечательно ... но если там пустое значение и я хочу по всем сотрудникам собрать инфу, то этот запрос загоняет все движения документа (а в одном документе движений по регистру равно количеству сотрудников) в одну строку! Можно ли разбить по строкам (тобишь по сотрудникам)

    Добавление группировки по сотрудникам поможет??
  2. Dmitriy_76
    Offline

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

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    поможет..и решит твою проблему...
  3. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Я в запросах не очень, подскажите пожалуйста в виде кода.

    Да кстати вот код занесения в таблицу результатов запроса, думаю там тоже будут изменения...
    Код:
        НачОст=0;
    Пока Запрос.Группировка(1) = 1 Цикл
    ТЗ.НоваяСтрока();
    ТЗ.Тип=1;     
    ТЗ.Сотрудник=Запрос.Сотрудник;
    ТЗ.Документ=Запрос.ТекущийДокумент;
    ТЗ.НачОстаток=Запрос.СуммаРубПриход-Запрос.СуммаРубРасход;
    КонецЦикла;
    
    
    
    Так??

    Код:
    	ТекстЗапроса = 
    "//{{ЗАПРОС(ПодстчетОстатка)
    |Период с НачОтсчета по (ВыбНачПериода-1);
    |Сотрудник = Регистр.ОплатаТруда.Сотрудник;
    |ТекущийДокумент = Регистр.ОплатаТруда.ТекущийДокумент;
    |Сумма = Регистр.ОплатаТруда.Сумма;
    |Функция СуммаРубНачОст = НачОст(Сумма);
    |Функция СуммаРубПриход = Приход(Сумма);
    |Функция СуммаРубРасход = Расход(Сумма);
    |Функция СуммаРубКонОст = КонОст(Сумма);
    |Группировка ТекущийДокумент; 
    |Группировка Сотрудник;
    |Условие(Сотрудник в ВыбСотрудник);
    |"//}}ЗАПРОС
    ;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    НачОст=0;
    Пока Запрос.Группировка(1) = 1 Цикл
    Пока Запрос.Группировка(2) = 1 Цикл
    ТЗ.НоваяСтрока();
    ТЗ.Тип=1;     
    ТЗ.Сотрудник=Запрос.Сотрудник;
    ТЗ.Документ=Запрос.ТекущийДокумент;
    ТЗ.НачОстаток=Запрос.СуммаРубПриход-Запрос.СуммаРубРасход;
    КонецЦикла;
    КонецЦикла;
    
    
  4. Dmitriy_76
    Offline

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

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    Код:
    ТекстЗапроса = 
    "//{{ЗАПРОС(ПодстчетОстатка)
    |Период с НачОтсчета по (ВыбНачПериода-1);
    |Сотрудник = Регистр.ОплатаТруда.Сотрудник;
    |ТекущийДокумент = Регистр.ОплатаТруда.ТекущийДокумент;
    |Сумма = Регистр.ОплатаТруда.Сумма;
    |Функция СуммаРубНачОст = НачОст(Сумма);
    |Функция СуммаРубПриход = Приход(Сумма);
    |Функция СуммаРубРасход = Расход(Сумма);
    |Функция СуммаРубКонОст = КонОст(Сумма);
    |Группировка ТекущийДокумент;
    |Группировка Сотрудник;
    |Условие(Сотрудник в ВыбСотрудник);
    |"//}}ЗАПРОС;
    
    запрос..

    аха так. если итоги по документу не нужны..
  5. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо. Разобрался :)

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