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

Отчет. 8.2

Автор 1cka, 18 мар 2014, 16:52

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

1cka

ЗапросПоКоличеству = Новый Запрос;

ЗапросПоКоличеству.Текст =
"ВЫБРАТЬ
| ОтчетПроизводстваЗаСмену.Ссылка
|ИЗ
| Документ.ОтчетПроизводстваЗаСмену КАК ОтчетПроизводстваЗаСмену
|ГДЕ
|ОтчетПроизводстваЗаСмену.Дата МЕЖДУ &НачалоПериода И &КонецПериода
|";

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

//ТаблицаПодраз = ВыборкаПоКоличеству.Скопировать();
//ТаблицаПодраз.Свернуть("Подразделение", "Количество");


Написала запрос через ссылку, приведенный выше.
Можно ли теперь  нужные мне данные свернуть в ТЗ? Примерно как в двух последних строчках кода. Как обращаться к именам колонок (к реквизитам документа и ТЧ)? Раньше в 8.1 имена колонок определялись в запросе, а здесь как быть?

MuI_I_Ika

Не понял в чем вопрос заключается. Как свернуть таблицу вы знаете. Как называются колонки в запросе тоже знаете судя по конструкциям в запросе. Или вопрос в том как свернуть таблицу в запросе?

1cka

Цитата: MuI_I_Ika от 18 мар 2014, 16:56
Не понял в чем вопрос заключается. Как свернуть таблицу вы знаете. Как называются колонки в запросе тоже знаете судя по конструкциям в запросе. Или вопрос в том как свернуть таблицу в запросе?
Как называются колонки в запросе?
Так как я пишу
ТаблицаПодраз.Свернуть("Подразделение", "Количество");
Пишет ошибку: Неверное имя колонки!
те здесь Подразделение - это реквизит шапки докумнта, а Количество - это колонка ТЧ
Т.е. вопрос в том, как, например, выбрать (как правильно указать имя колонки) из ТЧ Тех.операции - Наименование тех.операции и ее количество?

MuI_I_Ika

Ну еще вам осталось научиться пользоваться отладчиком. Он позволяет посмотреть какие колонки есть в таблице.

Судя по запросу там выбирается одно единственное поле Ссылка. Исли у вас возникают вопросы при именовании полей, то используйте в запросе конструкцию КАК, которой вы воспользовались при именовании таблицы.

1cka

Цитата: 1cka от 18 мар 2014, 16:52
ЗапросПоКоличеству = Новый Запрос;

ЗапросПоКоличеству.Текст =
"ВЫБРАТЬ
| ОтчетПроизводстваЗаСмену.Ссылка
|ИЗ
| Документ.ОтчетПроизводстваЗаСмену КАК ОтчетПроизводстваЗаСмену
|ГДЕ
|ОтчетПроизводстваЗаСмену.Дата МЕЖДУ &НачалоПериода И &КонецПериода
|";

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

//ТаблицаПодраз = ВыборкаПоКоличеству.Скопировать();
//ТаблицаПодраз.Свернуть("Подразделение", "Количество");


Написала запрос через ссылку, приведенный выше.
Можно ли теперь  нужные мне данные свернуть в ТЗ? Примерно как в двух последних строчках кода. Как обращаться к именам колонок (к реквизитам документа и ТЧ)? Раньше в 8.1 имена колонок определялись в запросе, а здесь как быть?
Вот в чем загвоздка:
Пока Выборка.Следующий() Цикл
    Отчет = Выборка.ссылка;
Для Каждого Стр Из Отчет.Исполнители Цикл
    НоваяСтрока = ТаблицаРезультата.Добавить();
    НоваяСтрока.Сотрудник = Стр.Сотрудник;
КонецЦикла;
КонецЦикла;

если писать так, то можно обратиться к ТЧ и все прекрасно работает
а когда использую Свернуть(), то получается нельзя!

вопрос, как добавить условие к этому запросу, типа
Если Не ВыбСотрудник = Справочники.СотрудникиОрганизаций.ПустаяСсылка() Тогда
Запрос.Текст = Запрос.Текст+
"
|
|И ОтчетПроизводстваЗаСмену.Ссылка.Исполнители.Сотрудники = &ВыбСотрудник";
КонецЕсли;

соответственно так как написано не работает. КАк обратиться к сотруднику из ТЧ Исполнители?

Теги:

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

Рейтинг@Mail.ru

Поиск