Как создать период отчёта за месяц, а не по дате?
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 8 из 8
  1. #1
    Гость форума

    Регистрация
    29.11.2016
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Как создать период отчёта за месяц, а не по дате?

    Добрый вечер , помогите разобраться.
    Есть готовый отчёт, который формируется по определённой дате. Но мне нужно чтобы он формировался за целый месяц.
    Сам отчёт: внешний , имеется форма и макет. Запрос и модули формы написаны правильно. Работа отчёта осуществляется только по определённой дате , а нужно чтобы формировался за весь месяц.

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

  2. #2
    Гость форума

    Регистрация
    12.12.2016
    Сообщений
    5
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Как создать период отчёта за месяц, а не по дате?

    вот тут ст_ПриемНарядУслуги.Ссылка .Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НаДатуНачал а, ДЕНЬ) И КОНЕЦПЕРИОДА(&НаДатуоконча ния, ДЕНЬ)
    а вот в параметрах указываем
    ДатаНачала = добавитьмесяц(Дата, -1);
    ПостроительЗапроса.Параме� �ры.Вставить("НаДатуНачала", НачалоДня(ДатаНачала));
    ПостроительЗапроса.Параме� �ры.Вставить("НаДатуНачала", КонецДня(Дата));

  3. #3
    Гость форума

    Регистрация
    12.12.2016
    Сообщений
    5
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Как создать период отчёта за месяц, а не по дате?

    А почему, на скд этот отчет не построил?

  4. #4
    Гость форума

    Регистрация
    29.11.2016
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Как создать период отчёта за месяц, а не по дате?

    Цитата Сообщение от Kuragane Посмотреть сообщение
    вот тут ст_ПриемНарядУслуги.Ссылка .Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НаДатуНачал а, ДЕНЬ) И КОНЕЦПЕРИОДА(&НаДатуоконча ния, ДЕНЬ)
    а вот в параметрах указываем
    ДатаНачала = добавитьмесяц(Дата, -1);
    ПостроительЗапроса.Параме� �ры.Вставить("НаДатуНачала", НачалоДня(ДатаНачала));
    ПостроительЗапроса.Параме� �ры.Вставить("НаДатуНачала", КонецДня(Дата));

    Может я не туда написал? Куда именно? Простите меня за мою тупость, плохо разбираюсь.
    пишет что: {Отчет.ст_ДневнойЛистокУче� �а.Форма.ФормаОтчета.Форма(6 0)}: Ошибка при получении значения атрибута контекста (Результат)
    Результат = ПостроительЗапроса.Резуль� �ат;
    по причине:
    {(11, 90)}: Не задано значение параметра "НаДатуокончания"
    ст_ПриемНарядУслуги.Ссылка .Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НаДатуНачал а, ДЕНЬ) И КОНЕЦПЕРИОДА(<<?>>&НаДатуоко� �чания, ДЕНЬ)

  5. #5
    Гость форума

    Регистрация
    12.12.2016
    Сообщений
    5
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Как создать период отчёта за месяц, а не по дате?

    блин мой косяк))) второй параметр ПостроительЗапроса.Параме? ?ры.Вставить("НаДатуОкончан ия", КонецДня(Дата)); вот так должно быть

  6. #6
    Гость форума

    Регистрация
    12.12.2016
    Сообщений
    5
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Как создать период отчёта за месяц, а не по дате?

    а вообще, завязывай ты с выведением в ТабличныйДокумент отчетов. Есть для этих дел СКД, работает намного быстрее, и возможностей больше.

  7. #7
    Гость форума

    Регистрация
    29.11.2016
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Как создать период отчёта за месяц, а не по дате?

    Спасибо вам за ответ. Я разобрался . Но почему когда я хочу сформировать отчёт он мне выбирает опять определённую дату))И Может там нужно сделать две кнопки ?
    Типо выбор периода ? "НачалоПриода" и "КонецПериода"

  8. #8
    Гость форума

    Регистрация
    12.12.2016
    Сообщений
    5
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: Как создать период отчёта за месяц, а не по дате?

    просто у тебя отчет сделан так. добавь в реквизиты формы две даты и будет две даты.

Похожие темы

  1. Ответов: 2
    Последнее сообщение: 20.05.2016, 06:40

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •