8.х вопрос о дате в отчете

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем zolberg, 15 янв 2007.

  1. TopicStarter Overlay
    zolberg
    Offline

    zolberg

    Регистрация:
    26 дек 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Народ помогите плиз,как в отчете сделать так чтоб данные брались за определенный месяц,не больше не меньше,тоесть например с 01,01 по 31,01 как и что для этого надо...с 1с столкнулся тока 2 месяца назад,опыта программинга в ней неД!)жиззенна необходима инфА...
  2. 1010011010
    Offline

    1010011010 [1cworld]

    Регистрация:
    1 авг 2006
    Сообщения:
    582
    Симпатии:
    0
    Баллы:
    26
    констуктором запросов пользуйся, там условия есть, поставишь в условиях между, посмотришь как запрос выглядить будет
  3. Coder1C
    Offline

    Coder1C Слуга форума Команда форума Администратор

    Регистрация:
    10 фев 2006
    Сообщения:
    506
    Симпатии:
    31
    Баллы:
    54

    Вложения:

    • screenhot.jpg
      screenhot.jpg
      Размер файла:
      92 КБ
      Просмотров:
      121
    • screenhot2.jpg
      screenhot2.jpg
      Размер файла:
      107 КБ
      Просмотров:
      147
  4. TopicStarter Overlay
    zolberg
    Offline

    zolberg

    Регистрация:
    26 дек 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    пользовался)результат отчета получился,но с точнй датой,то есть с указанием числа,месяца,года, там условие надо ставить помойму в ручную...а как, у меня пока не получилось,в доке по 1ске нужной инфы не нашел (дока - описание встроеного языка,в 4х томах)

    to Coder1C спс)) а что значит ",,,"после ДатаКон?
  5. TopicStarter Overlay
    zolberg
    Offline

    zolberg

    Регистрация:
    26 дек 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    у меня не получаеться открыть диологовое окно параметры виртуальной таблицЫ!
  6. MustDie
    Offline

    MustDie

    Регистрация:
    12 янв 2007
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    Виртуальные таблицы доступны только регистрам бухгалтерии, регистрам накопления и переодическим регистрам сведений.
    Если ты делаешь выборку из других объектов конфигурации, то придется использовать условие "ГДЕ", например:

    1) "ВЫБРАТЬ
    | РеализацияТоваровУслуг.Ссылка
    |ИЗ
    | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    | РеализацияТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2";

    2) "ВЫБРАТЬ
    | РеализацияТоваровУслуг.Ссылка
    |ИЗ
    | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    | РеализацияТоваровУслуг.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ)
    | И КОНЕЦПЕРИОДА(&Дата, МЕСЯЦ)";
  7. TopicStarter Overlay
    zolberg
    Offline

    zolberg

    Регистрация:
    26 дек 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    а как влияет (&Дата, МЕСЯЦ) на дату,год всеравно учитываеться, точнее учитываться стали полсле адаптации к моему запросу пустые значения) делаю я отчет о днях рождения сотрудникоФФ...
  8. MustDie
    Offline

    MustDie

    Регистрация:
    12 янв 2007
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    тогда так:

    ...........
    |ГДЕ
    | МЕСЯЦ(ФизическиеЛица.ДатаРождения) = &ДатаРождения"
    ...........
    Запрос.УстановитьПараметр("ДатаРождения", Месяц(Дата));
  9. TopicStarter Overlay
    zolberg
    Offline

    zolberg

    Регистрация:
    26 дек 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    Код:
    Процедура ДниР(ТабДок, ДатаНачала, ДатаОкончания) Экспорт
    //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ДниР)
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Макет = ОтчетОбъект.ПолучитьМакет("ДниР");
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ФизическиеЛица.ДатаРождения КАК ДатаРождения,
    |    ФизическиеЛица.Наименование КАК Наименование
    |ИЗ
    |    Справочник.ФизическиеЛица КАК ФизическиеЛица
    </span>
    //  пробую выполнить запрос без указания года в дате
    
    |ГДЕ
    |    ФизическиеЛица.ДатаРождения > &ДатаНачала
    |    ФизическиеЛица.ДатаРождения < &ДатаОкончания
    |   Месяц(ФизическиеЛица.ДатаРождения)=&ДатаРождения"
    
    
    |СГРУППИРОВАТЬ <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/по')">ПО
    |    ФизическиеЛица.ДатаРождения,
    |    ФизическиеЛица.Наименование
    |УПОРЯДОЧИТЬ ПО
    |    ДатаРождения,
    |    Наименование";
    </span>
    
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);
    Запрос.УстановитьПараметр("ДатаРождения",Месяц(Дата));
    Результат = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    ВыборкаДетали = Результат.Выбрать();
    
    Пока ВыборкаДетали.Следующий() Цикл
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
    КонецПроцедуры[/b]
    
    вот сам текст обработки в итоге....
    после внесения изменений вылезли ошибки синтасические 
    [b]КонецПроцедуры[/b] требует и про логическое завершение модуля [b]ТабДок.Вывести(ОбластьПодвал);
    </FONT></FONT></pre>
    я в шоке...

    а в Месяц(Дата) под Дата что имееться ввиду?
  10. TopicStarter Overlay
    zolberg
    Offline

    zolberg

    Регистрация:
    26 дек 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    хоятб просто оцените текст запроса...сомнения меня мучають...а на столе все в книжках от стандартной поствке 1с))все теже 4 тома описаняи встроеного языка))
  11. MustDie
    Offline

    MustDie

    Регистрация:
    12 янв 2007
    Сообщения:
    27
    Симпатии:
    0
    Баллы:
    1
    Делать выборку из справочника ФизическиеЛица не правильно - тебе нужны только "работающие сотрудники", а в данном случае выведутся все элементы. Поэтому корректней использовать регистр сведений РаботникиОрганизации или Работники в зависимости от управленческого или регламентированного учета соответственно (можно и два одновременно).
    Касаемо запроса:

    Строка:
    " | ФизическиеЛица.Наименование"
    не имеет смысла - удаляй.

    Удаляй:
    " | ФизическиеЛица.ДатаРождения > &ДатаНачала
    | ФизическиеЛица.ДатаРождения < &ДатаОкончания"
    оставляй:
    " | Месяц(ФизическиеЛица.ДатаРождения)=&ДатаРождения"

    и соответственно,
    удаляй:
    " Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);"
    оставляй:
    " Запрос.УстановитьПараметр("ДатаРождения",Месяц(Дата));"

    как раз возьмутся все дни рождения за месяц из "Дата" без учета числа и года.
  12. TopicStarter Overlay
    zolberg
    Offline

    zolberg

    Регистрация:
    26 дек 2006
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    MustDie спасибо,сечас буду пробовать))отпешусь о результатах)!

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