8.х Ошибка в отчете

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем GEN1983, 1 дек 2009.

  1. TopicStarter Overlay
    GEN1983
    Offline

    GEN1983

    Регистрация:
    11 сен 2009
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    Здрвствуйте!

    Помогите, пожалуйста, разобраться с ошибкой в отчете. Вроде внешне всё сделал правильно, но система думает иначе. Платформа 8.1. Конфигурация не типовая.



    Текст программы:

    Процедура КнопкаСформироватьНажатие(Кнопка)
    // Вставить содержимое обработчика.

    Запрос = Новый Запрос;
    Запрос.Текст = "Выбрать
    |ВнесениеОплатыЗаКурсы.Курс КАК Курс
    |Сумма(ВнесениеОплатыЗаКурсы.ВнесеннаяСумма)
    |КАК ОплаченнаяСумма
    |ИЗ
    |Документ.ВнесениеОплаты.ОплатаКурсов
    |КАК ВнесениеОплатыЗаКурсы
    |СГРУППИРОВАТЬ ПО
    |ВнесениеОплатыЗаКурсы.Курс";

    Результат = Запрос.Выполнить().Выбрать();
    ТабДок = Новый ТабличныйДокумент;
    Макет = Отчеты.УчетОплаты.ПолучитьМакет("Макет");

    //Заголовок
    Область = Макет.ПолучитьОбласть("Заголовок");
    ТабДок.Вывести(Область);

    //Шапка
    Область = Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(Область);

    //Оплата курсов
    Пока Результат.Следующий() Цикл
    Область = Макет.ПолучитьОбласть("Строка");
    Область.Параметры.Курс = Результат.Курс;
    Область.Параметры.ОплаченнаяСумма = Результат.ОплаченнаяСумма;
    ТабДок.Вывести(Область);
    КонецЦикла;



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





    И текст ошибки:
    {Отчет.УчетОплаты.Форма.Форма(16)}: Ошибка при вызове метода контекста (Выполнить): {(3, 1)}: Синтаксическая ошибка "Сумма(ВнесениеОплатыЗаКурсы.ВнесеннаяСумма)"
    <<?>>Сумма(ВнесениеОплатыЗаКурсы.ВнесеннаяСумма)
    Результат = Запрос.Выполнить().Выбрать();
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Запятайка.
    Код:
    |ВнесениеОплатыЗаКурсы.Курс КАК Курс,
    
  3. TopicStarter Overlay
    GEN1983
    Offline

    GEN1983

    Регистрация:
    11 сен 2009
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    Спасибо, это помогло! Но теперь появилась еще одна ошибка:

    Код:
    {Отчет.УчетОплаты.Форма.Форма(16)}: Ошибка при вызове метода контекста (Выполнить): {(3, 29)}: Поле не найдено "ВнесениеОплатыЗаКурсы.ВнесеннаяСумма"
    Сумма(ВнесениеОплатыЗаКурсы.<<?>>ВнесеннаяСумма)
    Результат = Запрос.Выполнить().Выбрать();
    
    


    В форме вообще никаких полей нет изначально, а в макете поля сделаны. Но запрос вроде правильный. Я еще прилагаю на всякий случай скрипт, вдруг поможет.

    Вложения:

  4. wertklop
    Offline

    wertklop Опытный в 1С

    Регистрация:
    12 май 2008
    Сообщения:
    321
    Симпатии:
    0
    Баллы:
    26
    а ничего, что ты в запросе обращаешься к ВнесениеОплатыЗаКурсы.ВнесеннаяСумма, а в конфигурации у тебя ВнесеннаяОплата?
    :unsure:
  5. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    о боже, еще есть люди, которые запросы пишут руками, а не через конструктор? :unsure:
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ну как сказать... :)
    Когда я пишу програмно собираемый запрос - только ручками и получиться.
    Посмотрите, например, бюджетирование в УПП - там 80% запросов руками придется писать.
    Я вот в этом году переписывал там все :)
  7. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    в такие дебри я еще не залезал :)
    програмно собираемый запрос это по типу тех которые собираются, например, при нажатии кнопки Подбор? :)
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    :unsure:
    Подбор - это детский лепет :)
    Посмотрите в УПП, как задаются рассчитываемые поля и как они преобразуются в запрос.
    Идея на пять, но реализация так себе. Особенно, когда основной источник не сделал движений - теряем все движения по доп источнику.... Запарился переписывать....

Поделиться этой страницей