Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 14:22

помогите сделать дату, чтоб отбор был за текущий месяц...

Автор Alex_Us, 26 апр 2013, 11:39

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

Alex_Us

нужно чтоб отбор был за месяц, то есть брал документы реализацию товаров и услуг, только за месяц!
не могу понять как сделать чтоб он понимал что именно за этот месяц нам надо.
допустим вормирую документ 30 числа апреля месяца и он мне подбирает документы реализациятоваровуслуг только за этот месяц.



Процедура ЗаполнитьРеализациюНажатие(Элемент)
       НачалоПериода = Дата(...,месяц);
        КонецПериода = Дата(...,месяц);
         СсылкаНаГруппу= Справочники.Контрагенты.НайтиПоНаименованию("ТорговыеТочки");

                 
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РеализацияТоваровУслуг.Ссылка,
        |    РеализацияТоваровУслуг.Дата,
        |    РеализацияТоваровУслуг.Контрагент
        |ИЗ
        |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        |     РеализацияТоваровУслуг.Дата <= &КонецПериода
        |    И РеализацияТоваровУслуг.Дата >= &НачалоПериода
      |И РеализацияТоваровУслуг.Контрагент В ИЕРАРХИИ(&СсылкаНаГруппу)";
      // |   И РеализацияТоваровУслуг.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ДатаКон, МЕСЯЦ)
   
    Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
    Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
   Запрос.УстановитьПараметр("СсылкаНаГруппу",СсылкаНаГруппу);

    РезультатЗапроса = Запрос.Выполнить();
    
      Выборка = РезультатЗапроса.Выбрать();
      
         Пока Выборка.Следующий() Цикл
         СтрокаТабличнойЧасти = ДокументыОснования.Добавить();
         СтрокаТабличнойЧасти.ДокументОснование = Выборка.Ссылка;
       КонецЦикла;
     //Объект = Объект.ДокументОснование.Загрузить(Запрос.Выполнить().Выгрузить());
          //Объект = Документы.СчетФактураВыданный.ПолучитьОбъект(ЭтотОбъект);
          //Объект.Записать();
    КонецПроцедуры





ls600

отдельной процедурой сделай выбор даты
Процедура Кнопка1Нажатие(Элемент)
НастройкаПериода = Новый НастройкаПериода;
НастройкаПериода.УстановитьПериод(ДатаНач, ?(ДатаКон='0001-01-01', ДатаКон, КонецДня(ДатаКон)));
НастройкаПериода.РедактироватьКакИнтервал = Истина;
НастройкаПериода.РедактироватьКакПериод = Истина;
НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
НастройкаПериода.Редактировать();
ДатаНач = НастройкаПериода.ПолучитьДатуНачала();
ДатаКон = НастройкаПериода.ПолучитьДатуОкончания();
КонецПроцедуры




Alex_Us

а можно как то в этой процедуре? через НачалоПериода и КонецПериода...???

Msoul

Попробуй:

    Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(КонецПериода));
    Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(НачалоПериода));

Alex_Us

почему то нет((( не идет... как будто ее объявить надо что ли...(((

Besart

а вы откуда дату берете? как вариант можно сделать так
Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ТекущаяДата()));
но тогда в следующем месяце вы не сможете формировать нужные вам документы за предыдущий месяц, создайте на форме реквизит дата и тогда Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(Дата));
Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(Дата));

Dethmontt

Alex_Us, вы опять просите готовый вариант! Вы так никогда не научитесь думать сами!

Besart подсказал вам готовое решение
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск