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

Ошибка в запросе!помогите пожалуйста!

Автор Лейсан, 01 апр 2012, 22:18

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

Лейсан

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

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


{Документ.Начисление_Сумм_По_Статьям_УУ.МодульОбъекта(110)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:

по причине:
{(9, 34)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ХозрасчетныйОбороты.Регистратор <<?>>= &РегистраторНМА

Подскажите пожалуйста.как можно исправить?(может кто увидит свежим глазом мой недочет:))буду благодарна

sergejK74

Ошибка либо здесь
[code]                  |   ХозрасчетныйОбороты.Регистратор = &РегистраторНМА
                  |   И ХозрасчетныйОбороты.Регистратор = &РегистраторОС

либо здесь
Запрос.УстановитьПараметр("РегистраторНМА",Документы.АмортизацияНМА);
Запрос.УстановитьПараметр("РегистраторОС",Документы.АмортизацияОС);

Ты хочешь передать в запрос ссылку на конкретный док или отобрать по типу
|   ХозрасчетныйОбороты.Регистратор Ссылка Документ.АмортизацияОС
                  |   И ХозрасчетныйОбороты.Регистратор Ссылка Документ.АмортизацияОС[/code]
Кнопочка Спасибо - слева!

Лейсан


Лейсан

хочу отобрать по типу документа.и еще можно  вопрос?как можно в запросе исключать проводки,по которым не должны попадать суммы?

ChakChak

Цитата: sergejK74 от 01 апр 2012, 22:42
Ошибка либо здесь
[code]                  |   ХозрасчетныйОбороты.Регистратор = &РегистраторНМА
                 |   И ХозрасчетныйОбороты.Регистратор = &РегистраторОС



однозначно тут!!!
Регистратор у записи может быть одного типа, а у тебя получается что он должен одновременно быть РегистраторНМА и РегистраторОС.
Поменяй И на ИЛИ![/code]

Dethmontt

Регистратор никогда не будет равен менеджеру
Запрос.УстановитьПараметр("РегистраторНМА",Документы.АмортизацияНМА);
Запрос.УстановитьПараметр("РегистраторОС",Документы.АмортизацияОС);
Документы.АмортизацияНМА = ДокументМенеджер
ХозрасчетныйОбороты.Регистратор = ДокументСсылка
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

Если отбираешь по типу то sergejK74 тебе правильно написал:

|   ХозрасчетныйОбороты.Регистратор Ссылка Документ.АмортизацияОС
|   ИЛИ ХозрасчетныйОбороты.Регистратор = Ссылка Документ.АмортизацияНМА
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Лейсан

и еще можно  вопрос?как можно в запросе исключать проводки,по которым не должны попадать суммы?

Dethmontt

Где
(НЕ ХозрасчетныйОбороты.СчетДт = &счетДт)
И (НЕ ХозрасчетныйОбороты.СчетКт = &счетКт)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

А лучше всего писать условия в параметрах виртуальных таблиц если есть возможность ее использовать
например:
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(, , , (НЕ СчетДт = &СчетДт), , (НЕ СчетКт = &СчетКт), , ) КАК ХозрасчетныйОборотыДтКт
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

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

Рейтинг@Mail.ru

Поиск