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

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

Доброго, всем, времени суток.
В виду прохождения практики во Франчайзинг-компании начал изучать 1С: Предприятие. Имеется большой интерес и куча вопросов в придачу  Улыбаюсь
Начал изучение по книжечке Практическое пособие разработчика, правда по платформе 8.0 книжка, у самого стоит 8.1. И в процессе изучения столкнулся с проблемой:
Был создан объект конфигурации Отчет "ПереченьУслуг", задача которого содержать информацию о том какие есть услуги и по какой стоимости. Воспользовавшись Макетом выходной формы получаю модуль с кодом, добавляю фильтр на вид номенклатуры услуги. В итоге в отладке выбираю дату, нажимаю сформировать получаю перечень услуг, но без цен.
Помогите, пожалуйста, разобраться. Если нужно будет скину *.dt'шку.

P.S. Раньше возникали ошибки по причине выставления даты (особенно когда начинался новый месяц) и с внимательностью печати. Но вроде в этот раз ни то, ни то не допустил. В книге результат получается, а у меня нет. Помогите.

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

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

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

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

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

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

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

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

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

ВыборкаГруппаУслуг = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаГруппаУслуг.Следующий() Цикл
Если ВыборкаГруппаУслуг.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
Область = ОбластьГруппаУслугИерархия;
Иначе
Область = ОбластьГруппаУслуг;
КонецЕсли;

Область.Параметры.Заполнить(ВыборкаГруппаУслуг);
ТабДок.Вывести(Область, ВыборкаГруппаУслуг.Уровень());

ВыборкаДетали = ВыборкаГруппаУслуг.Выбрать();

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

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

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
Записан
Kivals
Модератор

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

WWW
« Ответ #1 : 04-10-2009 07:13 » 

Мне не нравится в запросе условие связи таблиц:
Код:
ПО ЦеныСрезПоследних.Номенклатура.ВидНоменклатуры = СпрНоменклатура.Ссылка
ИМХО должно быть
Код:
ПО ЦеныСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка
Записан
Mr_Lambert_13
Гость
« Ответ #2 : 04-10-2009 11:38 » new

Спасибо большое!!! Действительно глупо Вид Номенклатуры сравнивать с Ссылкой... Заработало. Пошёл дальше мучить 1С.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines