Вход | Регистрация

1С:Предприятие ::

Метки:Запросы и построители

Проблема с запросом

Я
   Magnus
 
15.03.04 - 10:45
Есть такой запрос:
"//{{ЗАПРОС(Сформировать)

    |с ВыбНачПериода по ВыбКонПериода;
    |Без итогов;
    |Поставщик = Регистр.ПриходМолока.Поставщик;
    |ФизВес = Регистр.ПриходМолока.ФизВес;
    |Кисл = Регистр.ПриходМолока.Кисл;
    |Плотн = Регистр.ПриходМолока.Плотн;                          
    |Жир = Регистр.ПриходМолока.Жир;
    |Темп = Регистр.ПриходМолока.Темп;
    |РедПроба = Регистр.ПриходМолока.РедПроба;
    |Сорт = Регистр.ПриходМолока.Сорт;
    |Функция ФизВесПриход = Приход(ФизВес);
    |Функция КислСумма = Сумма(Кисл);
    |Функция ПлотнСумма = Сумма(Плотн);
    |Функция ЖирСумма = Сумма(Жир);
    |Функция ТемпСумма = Сумма(Темп);
    |Группировка Поставщик;
    |//}}ЗАПРОС
затем его результаты выводятся в таблицу значений, у которой след. колонки: Поставщик, Вес, Кисл, Плотн, Жир, Темп,Сорт, РедПроба.
  Проблема такая: если на одну дату два поставщика,то они суммируются. Как сделать так, чтобы они показывались отдельно? Заранее спасибо.
 
 
   Рупор абсурда
 
1 - 15.03.04 - 10:56
Чего-то ты недоговариваешь ...
   Magnus
 
2 - 15.03.04 - 10:58
А что еще нужно?
   Sergei
 
3 - 15.03.04 - 11:07
Если действительно происходит так, как ты говоришь, то выкладывай полный текст
   Dionisious
 
4 - 15.03.04 - 11:09
Вроде по смыслку группировки по РедПроба и Сорт не хатает:
Группировка Поставщик,РедПроба,Сорт;
Авось поможет.
   Magnus
 
5 - 15.03.04 - 11:10
вот полный текст:
Процедура СформироватьВнут()
    Перем Запрос, ТекстЗапроса,тЗнач;
   //Создание объекта типа Запрос

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)

    |с ВыбНачПериода по ВыбКонПериода; 
    |Без итогов;
    |Поставщик = Регистр.ПриходМолока.Поставщик;
    |ФизВес = Регистр.ПриходМолока.ФизВес;
    |Кисл = Регистр.ПриходМолока.Кисл;
    |Плотн = Регистр.ПриходМолока.Плотн;                                 
    |Жир = Регистр.ПриходМолока.Жир;
    |Темп = Регистр.ПриходМолока.Темп;
    |РедПроба = Регистр.ПриходМолока.РедПроба;
    |Сорт = Регистр.ПриходМолока.Сорт;
    |Функция ФизВесПриход = Приход(ФизВес);
    |Функция КислСумма = Сумма(Кисл);
    |Функция ПлотнСумма = Сумма(Плотн);
    |Функция ЖирСумма = Сумма(Жир);
    |Функция ТемпСумма = Сумма(Темп);
    |Группировка Поставщик;
    |//}}ЗАПРОС

    ;
   // Если ошибка в запросе, то выход из процедуры

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
   // Подготовка к заполнению выходных форм данными запроса

    тЗнач=СоздатьОбъект("ТаблицаЗначений");  
    тЗнач.НоваяКолонка("Поставщик","Справочник.Контрагенты");
    тЗнач.НоваяКолонка("МКисл","Число");
    тЗнач.НоваяКолонка("Кисл","Число",5,2);
    тЗнач.НоваяКолонка("МПлотн","Число");
    тЗнач.НоваяКолонка("Плотн","Число",5,2);
    тЗнач.НоваяКолонка("МЖир","Число");
    тЗнач.НоваяКолонка("Жир","Число",4,2);
    тЗнач.НоваяКолонка("МТемп","Число");
    тЗнач.НоваяКолонка("Темп","Число",5,2);   
    тЗнач.НоваяКолонка("МРедПроба","Число");
    тЗнач.НоваяКолонка("РедПроба","Число",4,2);
    тЗнач.НоваяКолонка("МСорт","Число");
    тЗнач.НоваяКолонка("Сорт","Число",4,2);                      
    тЗнач.НоваяКолонка("ФизВес","Число"); 
    тЗнач.НоваяКолонка("К","Число");
    тЗнач.НоваяКолонка("Рейтинг","Число");
    Пока Запрос.Группировка()=1 Цикл  
        тЗнач.НоваяСтрока();                
        тЗнач.Поставщик=Запрос.Поставщик; 
        тЗнач.Кисл=Запрос.КислСумма; 
        тЗнач.Плотн=Запрос.ПлотнСумма;
        тЗнач.Жир=Запрос.ЖирСумма; 
        тЗнач.Темп=Запрос.ТемпСумма; 
        Если Запрос.РедПроба=Перечисление.РедуктазнаяПроба.Первая Тогда
            тЗнач.РедПроба=1;
        ИначеЕсли Запрос.РедПроба=Перечисление.РедуктазнаяПроба.Вторая Тогда
            тЗнач.РедПроба=2;
        ИначеЕсли Запрос.РедПроба=Перечисление.РедуктазнаяПроба.Третья Тогда
            тЗнач.РедПроба=3;
        КонецЕсли;
        Если Запрос.Сорт=Перечисление.Сорт.Первый Тогда
            тЗнач.Сорт=1;
        ИначеЕсли Запрос.Сорт=Перечисление.Сорт.Второй Тогда
            тЗнач.Сорт=2;
        ИначеЕсли Запрос.Сорт=Перечисление.Сорт.Несортовое Тогда
            тЗнач.Сорт=3;
        КонецЕсли;
        тЗнач.ФизВес=Запрос.ФизВесПриход; 
        тЗнач.К=1; 
        тЗнач.Рейтинг=0;
        тЗнач.МКисл=0;
        тЗнач.МПлотн=0;
        тЗнач.МЖир=0;
        тЗнач.МТемп=0;
        тЗнач.МРедПроба=0;
        тЗнач.МСорт=0;
    КонецЦикла;
   Рупор абсурда
 
6 - 15.03.04 - 11:11
(5) Запрос.Выгрузить(тЗнач,1);
   Magnus
 
7 - 15.03.04 - 11:15
это после создания таблицы насколько я понимаю?
   Magnus
 
8 - 15.03.04 - 11:18
нет, не получается. Проблема в самом запросе.
   AlexMan
 
9 - 15.03.04 - 11:28
(8) ты сперва сделай что написано в (6) а потом посмотри вдруг получится..........
   skunk
 
10 - 15.03.04 - 11:32
посмотри модуль проведения доков...
 
  Рекламное место пустует
   Sergei
 
11 - 15.03.04 - 11:32
(6) Ну если надо такую хитрую таблицу, то одним выгрузить не обойдешься... или там Регистр такой веселый
   Magnus
 
12 - 15.03.04 - 11:34
(8) не получилось. А вот с группировками как в (4) получилось. Но дальше 1С вылетает.
   Magnus
 
13 - 15.03.04 - 11:38
вылетает с сообщением о нарушении прав доступа
   Sergei
 
14 - 15.03.04 - 11:43
(13) Мда
Кстати, у тебя поставщики проходят по одному документу или по разным, если по разным, то вытащи документ в переменную и сделай по нему группировку
   Magnus
 
15 - 15.03.04 - 13:10
1 документ-1 поставщик


Список тем форума
Рекламное место пустует   Рекламное место пустует
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует