7.7 Запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем vall-n-rol, 23 авг 2011.

  1. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

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

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Отсутствует группировка по документам.
    Что вы хотите получить вообще?
  3. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    хочу получить данные входящие в период всеми проведенными документами
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Группировка ТекущийДокумент
    
    
  5. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    нет не то если делать группировку текущий документ он выдает все верно но он повторяющиеся элементы не складывает
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Почему у вас группировка идет ранее функции суммирования?
  7. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    в примерах увидел, а как должно быть?
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Перенесите группировку после функций...
    Код:
    ...
    |Функция СумЧетыриА = Сумма(ЧетыриА); 
    |Функция СумШестьА = Сумма(ШестьА);
    |Функция СумСемьА = Сумма(СемьА);
    |Функция СумВосемьА = Сумма(ВосемьА); 
    |Функция СумИтого = Сумма(Итого); 
    |Функция СумКолСутИтог = Сумма(КолСутИтог);
    |Группировка Продукт без групп;
    ...
    
    
  9. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    а в чем разница?
  10. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

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

    Код:
    	Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;  
    |Дата = Регистр.РасходыППОсужденных.Дата;
    |Продукт = Регистр.РасходыППОсужденных.Продукт;
    //	|Учреждение = Регистр.РасходыППОсужденных.Учреждение;
    |ЧетыриА = Регистр.РасходыППОсужденных.ЧетыриА;
    |ШестьА = Регистр.РасходыППОсужденных.ШестьА;
    |СемьА = Регистр.РасходыППОсужденных.СемьА;
    |ВосемьА = Регистр.РасходыППОсужденных.ВосемьА;   
    |Итого = Регистр.РасходыППОсужденных.Итого;
    |КолСутИтог = Регистр.РасходыППОсужденных.КолСутИтог;  
    |Функция СумЧетыриА = Сумма(ЧетыриА); 
    |Функция СумШестьА 	= Сумма(ШестьА);
    |Функция СумСемьА 	= Сумма(СемьА);
    |Функция СумВосемьА = Сумма(ВосемьА);   
    |Функция СумИтого = Сумма(Итого); 
    |Функция СумКолСутИтог = Сумма(КолСутИтог); 
    //	|Группировка Дата;  
    |Группировка Продукт Без групп;
    |"//}}ЗАПРОС
    ;      
    // Если ошибка в запросе, то выход из процедуры   
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;  
    
    Таб.ВывестиСекцию("Зоголовок");   
    Таб.ВывестиСекцию("Шапка");
    
    Пока Запрос.Группировка("Продукт") = 1 Цикл 
    Таб.ВывестиСекцию("Строка");
    КонецЦикла;
    
  11. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    помогитее?
  12. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    во-первых: пользуйтесь тегами, сделайте более читаемыми ваши сообщения.

    Что касаемо вопроса - в тексте запроса первая группировка - Дата.

    Почему при формировании печатной формы нет цикла по первой группировке?

    [off]ЗЫ порядок строк в запросе влияет только на порядок группировок, в остальных случаях значения не имеет.[/off]
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Так группировка по дате закомментарена....
    Внешне запрос выглядит абсолютно правильно теперь.
    Попробуйте выгрузить его результат в ТЗ и глянуть
  14. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    А что даст выгрузка в ТЗ, если в цыкле по групперовки товар даж чрез сообщение вывожу товар и сумму , он выдает ровно столько сколь в последнем документе, если сниму проводку с последнего, он выдает значение предыдущиго докума? ребят помогите непойму нифига?
  15. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    Можно ли сделать так как на рисунке, только чтоб наименование товара распологалось в шапке а по строчно колличественное значение по каждому товару на дату тоесть:

    Дата ГорохФасоль итд все,знач.по товару
    01,02,11 547 785 122 4545 787
    02,02,11 454 787 454 150 123
    15,02,11 50 60 74 45 22


    я сделал как на рисунке тоесть наименовани товара в столбик на дату но тогда я общюю сумму по товару не вижу за весь период, как быть

    Вложения:

    • отчет.JPG
      отчет.JPG
      Размер файла:
      156,2 КБ
      Просмотров:
      27
  16. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1)Внешне все у вас правильно.
    Какую периодичность имеет регистр РасходыППОсужденных
    2) Можно так сделать
    Сначала группировка по дате, потом по продуктам
    Дату выводим четез ВывестиСекцию Прорукты (значения) через ПрисоединитьСекцию
  17. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    шас буду пробывать спасибо , регистр у меня обороты периодичноть месяц,
  18. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А период в запросе какой? Долно работать суммирование.....
  19. TopicStarter Overlay
    vall-n-rol
    Offline

    vall-n-rol Опытный в 1С

    Регистрация:
    18 ноя 2009
    Сообщения:
    291
    Симпатии:
    0
    Баллы:
    26
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Дата = Регистр.РасходыППОсужденных.Дата;
    |Продукт = Регистр.РасходыППОсужденных.Продукт;
    // |Учреждение = Регистр.РасходыППОсужденных.Учреждение;
    |ЧетыриА = Регистр.РасходыППОсужденных.ЧетыриА;
    |ШестьА = Регистр.РасходыППОсужденных.ШестьА;
    |СемьА = Регистр.РасходыППОсужденных.СемьА;
    |ВосемьА = Регистр.РасходыППОсужденных.ВосемьА;
    |Итого = Регистр.РасходыППОсужденных.Итого;
    |КолСутИтог = Регистр.РасходыППОсужденных.КолСутИтог;
    |Группировка Дата;
    |Группировка Продукт Без групп;
    |Функция СумЧетыриА = Сумма(ЧетыриА);
    |Функция СумШестьА = Сумма(ШестьА);
    |Функция СумСемьА = Сумма(СемьА);
    |Функция СумВосемьА = Сумма(ВосемьА);
    |Функция СумИтого = Сумма(Итого);
    |Функция СумКолСутИтог = Сумма(КолСутИтог);
    |"//}}ЗАПРОС
    ;

    период вот как в запросе, сделал, как ты сказал вот что получается на фото, как сделать так чтоб в шапку вывести всенаименования какиее есть в регистре на период запроса, а построкам выводить значения на дату как я написал выше,

    Вложения:

    • отчет.JPG
      отчет.JPG
      Размер файла:
      98,2 КБ
      Просмотров:
      23
  20. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Выгружать в ТЗ или просто "пробежаться" по второй группировке (в этом случае не забудьте применить вНачалоВыборки() для вывода построчно)

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