Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Запрос 1с 7.7  (Прочитано 13447 раз)
0 Пользователей и 1 Гость смотрят эту тему.
leory
Гость
« : 21-06-2009 09:38 » 

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

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Покупатель
Таб.ВывестиСекцию("Покупатель");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Документ
Таб.ВывестиСекцию("Документ");
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры

Скриншот запроса и сам отчет прилагаю. Конфигурация типовая ТиС 7.7. ЗарплатаМенеджера-это регистр оборотов.

* Unbenannt.JPG (79.12 Кб - загружено 1322 раз.)
Записан
leory
Гость
« Ответ #1 : 21-06-2009 09:39 » 

это отчет

* 00_копия.ert (32 Кб - загружено 1280 раз.)
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 21-06-2009 12:43 » 

Пользуйся тегом [ code ] Здесь код [ /code ] (без пробелов возле квадратных скобок) - тогда понятен будет твой код.

вот этот цикл
Код:
Пока Запрос.Группировка(2) = 1 Цикл
    // Заполнение полей Документ
    Таб.ВывестиСекцию("Документ");
КонецЦикла;

изменить так:
Код:
ОбщийИтогПродаж=0;
Пока Запрос.Группировка(2) = 1 Цикл
    ОбщийИтогПродаж=ОбщийИтогПродаж+Запрос.СуммаРеализация;
    // Заполнение полей Документ
    Таб.ВывестиСекцию("Документ");
КонецЦикла;

И в колонке таблицы (в секции Документ) выводи ОбщийИтогПродаж
« Последнее редактирование: 22-06-2009 05:52 от Kivals » Записан
leory
Гость
« Ответ #3 : 21-06-2009 18:20 » new

Спасибо!Все работает. Насчет тэгов понял, исправлюсь.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines