Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрос выдает ошибку
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
mpoltav
Запрос выдает ошибку.
Значение не представляет агрегатный объект (вид): 8
Я думаю что все дело в подчеркнутой строке:

ТекстЗапроса = "
//{{ЗАПРОС(Обороты)
Период с ДатаС по ДатаПо;                                                
Фирмы = Регистр.Обороты.Фирма,Регистр.Остатки.Фирма;                                                
ВУ = Регистр.Обороты.ВидУчета,Регистр.Остатки.ВидУчета;
ТМЦ = Регистр.Обороты.ТМЦ,Регистр.Остатки.ТМЦ;
ЧейТовар = Регистр.Обороты.ТМЦ.ЧейТовар,Регистр.Остатки.ТМЦ.ЧейТовар;
Док = Регистр.Обороты.ТекущийДокумент;
ВидТМЦ = Регистр.Обороты.ТМЦ.Вид,Регистр.Остатки.ТМЦ.Вид;
ПриходКво = Регистр.Обороты.ПриходКво;
ПриходГРН = Регистр.Обороты.ПриходГРН;
РасходКво = Регистр.Обороты.РасходКво;
РасходГРН = Регистр.Обороты.РасходГРН;
КвоОст = Регистр.Остатки.Кво;
СуммаОст = Регистр.Остатки.СуммаГрн;
ДоходГРН = Регистр.Обороты.ДоходГРН;
Условие ((ВидТМЦ = Перечисление.ВидыТМЦ.Товар) или (ВидТМЦ = Перечисление.ВидыТМЦ.Продукция));
Условие((Док.Вид()="РасходнаяНакладная") и (Док.Портфель=ВыбПортфель)); // вот она
Условие (ВУ = Перечисление.ВидыУчета.Торговля);
Условие (НайтиФирм(Фирмы)=1);
Функция ПрхКво = Сумма(ПриходКво);
Функция ПрхВес = Сумма(ПриходКво*ТМЦ.Вес);
Функция ПрхОбъем = Сумма(ПриходКво*ТМЦ.Емкость);
Функция ПрхГРН = Сумма(ПриходГРН);
Функция РсхКво = Сумма(РасходКво);
Функция РсхВес = Сумма(РасходКво*ТМЦ.Вес);
Функция РсхОбъем = Сумма(РасходКво*ТМЦ.Емкость);
Функция РсхГРН = Сумма(РасходГРН);
Функция остКво = КонОст(КвоОст);
Функция остСумма = КонОст(СуммаОст);
Функция ДохГРН = Сумма(ДоходГРН);
Группировка Фирмы Без Упорядочивания Без Групп;
Группировка Док Без Упорядочивания Без Групп;
";
Vofka
Может так
ВидДокумента = "РасходнаяНакладная";
ТекстЗапроса = "
//...
Условие((Док.Вид()=ВидДокумента) и (Док.Портфель=ВыбПортфель));
//...
";
Pepe
Закоментите ее увидите результат. Конфа самописная или доделанная, идентификатор Портфель может не присутствовать во всех документах.
mpoltav
Цитата(Vofka @ 04.08.11, 15:14) необходимо зарегистрироваться для просмотра ссылки
Может так
ВидДокумента = "РасходнаяНакладная";
ТекстЗапроса = "
//...
Условие((Док.Вид()=ВидДокумента) и (Док.Портфель=ВыбПортфель));
//...
";


Так тоже не подходит.

ВИДДОКУМЕНТА<<?>>
Переменная не определена (ВИДДОКУМЕНТА)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{C:\DOCUMENTS AND SETTINGS\....(954)}: Условие((Док.Вид()=ВидДокумента <<?>> ) и (Док.Портфель=ВыбПортфель));
Запрос[17] : Ошибка в выражении 'ВидДокумента'

Цитата(Pepe @ 04.08.11, 15:19) необходимо зарегистрироваться для просмотра ссылки
Закоментите ее увидите результат. Конфа самописная или доделанная, идентификатор Портфель может не присутствовать во всех документах.


Да вы правы реквизит Портфель есть не во всех документах, а только в Расходной, вот я и сделал условие на виддокумента=РасходнаяНакладная.
g789
Попробуйте добавить переменные в запрос
ДокРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.ТекущийДокумент;
ПортфельРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.Портфель;

тогда условие
Условие((Док = ДокРн) и (ПортфельРН =ВыбПортфель));


как то так.
mpoltav
Цитата(g789 @ 04.08.11, 15:43) необходимо зарегистрироваться для просмотра ссылки
Попробуйте добавить переменные в запрос
ДокРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.ТекущийДокумент;
ПортфельРН = Регистр.Обороты.ТекущийДокумент.РасходнаяНакладная.Портфель;

тогда условие
Условие((Док = ДокРн) и (ПортфельРН =ВыбПортфель));


как то так.


О, спасибо.
kalyamov
Цитата(mpoltav @ 04.08.11, 15:24) необходимо зарегистрироваться для просмотра ссылки
Так тоже не подходит.

ВИДДОКУМЕНТА<<?>>
Переменная не определена (ВИДДОКУМЕНТА)
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{C:\DOCUMENTS AND SETTINGS\....(954)}: Условие((Док.Вид()=ВидДокумента <<?>> ) и (Док.Портфель=ВыбПортфель));
Запрос[17] : Ошибка в выражении 'ВидДокумента'


Этот вариант должен работать 100% - ошибка в Вашем коде, неправильно объявили переменную ВидДокумента.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.