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

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

Процедура Отчет(ТабДок, Период) Экспорт
    Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Отчет");
    Запрос = Новый Запрос;
    Запрос.Текст =  
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    УсловныеЦеныКонтрагентов.ДоговорКонтрагента.Владелец.Ссылка КАК ДоговорКонтрагентаВладелецСсылка,
    |    УсловныеЦеныКонтрагентов.ДоговорКонтрагента.Владелец.Представление,
    |    УсловныеЦеныКонтрагентов.ДоговорКонтрагента.ЦенаВключаетНДС,
    |    УсловныеЦеныКонтрагентов.КоэффициентЖира КАК КоэффициентЖира,
    |    УсловныеЦеныКонтрагентов.КоэффициентБелка КАК КоэффициентБелка,
    |    УсловныеЦеныКонтрагентов.ДоговорКонтрагента КАК ДоговорКонтрагента,
    |    УсловныеЦеныКонтрагентов.УсловнаяЦена КАК УсловнаяЦена,
    |    УсловныеЦеныКонтрагентов.Период КАК период,
    |    ВЫБОР
    |        КОГДА УсловныеЦеныКонтрагентов.ДоговорКонтрагента.ЦенаВключаетНДС
    |            ТОГДА УсловныеЦеныКонтрагентов.УсловнаяЦена / 100 * 10
    |        ИНАЧЕ 0
    |    КОНЕЦ КАК УсловнаяЦенаНДС
    |ИЗ
    |    РегистрСведений.УсловныеЦеныКонтрагентов КАК УсловныеЦеныКонтрагентов
    |ГДЕ
    |    УсловныеЦеныКонтрагентов.ДоговорКонтрагента.Владелец В ИЕРАРХИИ(&Владелец)
    |
    |УПОРЯДОЧИТЬ ПО
    |    период
    |ИТОГИ ПО
    |    ДоговорКонтрагентаВладелецСсылка ИЕРАРХИЯ";
 
    Запрос.УстановитьПараметр("Владелец", Владелец);
    Запрос.УстановитьПараметр("Период", Период);
 
    Результат = Запрос.Выполнить();
 
Период это даты в договорах
 
мне нужно в зависимости от даты в договоре выводить число с начало года!
 
т.е. если дата 01.01.09 то это номер 1 соответственно следующая дата это 2 и так далее до даты в отчете
 
по количеству записей т.е. если в договоре записи 05.01.09, 21.03.09, 26.06.09
то на 26.06.09 это будет цифра 3, а на 21.03.09 это цифра 2 ну и так далее...

как программно это описать?
Записан
Dest
Опытный

ru
Offline Offline

« Ответ #1 : 19-11-2009 11:50 » 

Когда получишь выборку из результата запроса, почему бы не создать переменную  для этих твоих 1, 2,3 ... , присвоить ей значение 0 и с каждым проходом цикла увеличивать ее значение на 1
Записан
Kivals
Модератор

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

WWW
« Ответ #2 : 19-11-2009 11:54 » new

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

DestКласс!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines