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

Метод объекта

Автор Дмитрий Корнилов, Вчера в 12:21

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

Дмитрий Корнилов

Здравствуйте, помогите пожалуйста  решить задачу, почему показывает что метод объекта не обнаружен, заранее буду благодарен


&НаКлиенте
Процедура ПродажиТоваров(Команда)

Табдок = Новый ТабличныйДокумент;
РезультатОтчета = СформироватьОтчет(ТабДок);
РезультатОтчета.Показать();

КонецПроцедуры

&НаСервере
Функция СформироватьОтчет(Табдок)

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

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

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

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

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

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

ТабДок.Присоединить(ОбластьЗаголовокИтогаПоСтроке);

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

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

ВыборкаКлиент = ВыборкаТовар.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Клиент", "ВСЕ");

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

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

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

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ВыборкаОбщийИтог.Следующий();
ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
ТабДок.Присоединить(ОбластьОбщийИтог);
ТабДок.Вывести(ОбластьПодвал);

Возврат ТабДок;

КонецФункции


Дмитрий Корнилов

0512.zip
Снимок экрана (7807).png
Снимок экрана (7806).png   

Дмитрий Корнилов


ls600

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

antoneus

Реквизит формы по имени Результат есть?

Дмитрий Корнилов

antoneus,

antoneus

Ага, есть. Это табличный документ. То есть, код

Результат = Запрос.Выполнить();
пытается запихнуть результат запроса в реквизит формы с типом табличный документ. Ничего у него не получается, он молча идет дальше. А Результат как был табличным документом, так и остался. И нет у него метода Выбрать().

Дмитрий Корнилов


Дмитрий Корнилов


Дмитрий Корнилов

antoneus, Хотя продажа по дата, работает

Теги:

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

Рейтинг@Mail.ru

Поиск