Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 22:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Запрос-Группировка  (Прочитано 3403 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Grom

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-06
  • Сайт: 
  • Профессия: Программист 1С
Добрый день!
Платформа 7.7
Как упростить следующий код, что бы 1с меньше времени тратила на циклы?

********
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Наименование = Регистр.Склад.КодМедикамента.Наименование;
   |Код = Регистр.Склад.КодМедикамента.Код;
   |Количество = Регистр.Склад.Количество;
   |Сумма = Регистр.Склад.Сумма;
   |Отдел = Регистр.Склад.Отдел;
   |ЕдиницаИзмерения = Регистр.Склад.ЕдиницаИзмерения;
   |СрокГодности = Регистр.Склад.СрокГодности;
   |РознечнаяЦена = Регистр.Склад.РознечнаяЦена;
   |ОптоваяЦена = Регистр.Склад.ОптоваяЦена;
   |Функция КоличествоНачОст = НачОст(Количество);
   |Функция СуммаНачОст = НачОст(Сумма);
   |Функция КоличествоПриход = Приход(Количество);
   |Функция СуммаПриход = Приход(Сумма);
   |Функция КоличествоРасход = Расход(Количество);
   |Функция СуммаРасход = Расход(Сумма);
   |Функция КоличествоКонОст = КонОст(Количество);
   |Функция СуммаКонОст = КонОст(Сумма);
   |Группировка Месяц;
   |Группировка Код;
   |Группировка Отдел;
   |Группировка ЕдиницаИзмерения;
   |Группировка СрокГодности;
   |Группировка РознечнаяЦена;
   |Группировка ОптоваяЦена;
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"   
   Таб.ВывестиСекцию("Шапка");
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл
      // Заполнение полей Месяц
      Таб.ВывестиСекцию("Месяц");
      Пока Запрос.Группировка(2) = 1 Цикл
         Пока Запрос.Группировка(3) = 1 Цикл
            Пока Запрос.Группировка(4) = 1 Цикл
               Пока Запрос.Группировка(5) = 1 Цикл
                  Пока Запрос.Группировка(6) = 1 Цикл 
                     Пока Запрос.Группировка(7) = 1 Цикл
                        Таб.ВывестиСекцию("Код");
                     КонецЦикла;
                  КонецЦикла;
               КонецЦикла;   
            КонецЦикла;   
         КонецЦикла;
      КонецЦикла;               
   КонецЦикла;
********
Мне нужна информация которая получается после 7 группировки, как упростить?
Заранее СПАСИБО!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 221
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal