• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Не работает отчет

  • Автор темы Renat11111
  • Дата начала
R

Renat11111

Добрый вечер! Пытаюсь освоить азы программтрования 1с. Читаю книгу Радченко, и столкнулся с проблемой небольшой. Суть проблемы: создал отчет Рейтинг услуг
который работает некорректно. тоесть в поле ввода ввожу даты начала и конца с надеждой получить рейтинг услуг в порядке убывания отчет ничего не показывает
Самое интересно что если даты не вносить то отчет показывает верные итоги по регистру накопления (оборотному). Заранее спасибо за помощь
код модуля формы

[codebox]
Процедура ДействияФормыРейтингУслугСформировать(Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(РейтингУслуг)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
РейтингУслуг(ТабДок, Неопределено, ДатаКонца, ДатаНачала);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры

Процедура РейтингУслуг(ТабДок, ВидыНоменклатуры, ДатаКонца, ДатаНачала) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(РейтингУслуг)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

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

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаДетали = Результат.Выбрать();

Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
[/codebox]
 
G

Guest

во-первых посмотри что у тебя получается в результате, когда ты дату ставишь.
во-вторых проверь свои даты на предмет а) дата начала меньше даты окончания (Дата конца никто не использует-это некорректное словосочетанеи ;) ) б) в заданном периоде вообще были продажи?
Пункт 2б можно проверить в типовом отчете "продажи" или сделав отбор периода в регистре накопления.
 
R

Renat11111

я тут уж сам разобрался))) тут дело в том что я с 7.7 перехожу а там обычно вначале ДатаНач потом ДатаКонца на форме отчета или где то еще. А конструктор сформировал вверху ДатКонца а внизу ДатаНач, что для меня непривычно. Но все равно спасибо Найлло
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!