7.7 Помогите составить запрос!

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем ADV, 3 авг 2007.

  1. TopicStarter Overlay
    ADV
    Offline

    ADV

    Регистрация:
    3 авг 2007
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Написал процедуру:

    Процедура 111()
    // Перем Запрос, ТекстЗапроса, Таб;

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС
    |Период с Дата1 по Дата2;
    |Клиент = Регистр.Заказы.Клиент;
    |Докум = Регистр.Заказы.ТекущийДокумент;
    |СуммаЗаказа = Регистр.Заказы.СуммаЗаказа;
    |Функция КонОст=КонОст(СуммаЗаказа);
    |Группировка Докум;
    // |Условие(Клиент = ВыбЗаказчики);
    |"//}}ЗАПРОС
    ;

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;


    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("ПоЗаказчику");
    Таб.ВывестиСекцию("Заголовок");

    Пока Запрос.Группировка(1) = 1 Цикл
    Таб.ВывестиСекцию("Номер");
    КонецЦикла;

    //============== Это выводится===================

    Рег = СоздатьОбъект("Регистр.Языки");
    Рег.ВыбратьДвижения(Дата1,Дата2);
    Таб.ВывестиСекцию("Заголовок2");
    Пока Рег.ПолучитьДвижение()>0 Цикл
    Док = Рег.ТекущийДокумент();
    Таб.ВывестиСекцию("Номер2");
    КонецЦикла;
    Таб.ТолькоПросмотр(1);
    Таб.Показать("ПоЗаказчику", "");
    КонецПроцедуры

    Изначально планировал ограничится запросом, но по запросу выводится только шапка, поэтому добавил выборку по регистру, что бы убедится, что они не пустые. В чем загвоздка? почему не выводится через запрос? (регистры остактов).
  2. yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
  3. TopicStarter Overlay
    ADV
    Offline

    ADV

    Регистрация:
    3 авг 2007
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Не помогло, пробовал по всякому, и регистр менял на оборотный и обратно. При выборке из регистра выводит данные, а по запросу нет. :unsure:
  4. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    А ты никогда не задумывался почему в ведомости ТМЦ в детализации по документу движения конечный остаток всегда рассчитывается исходя из остатка вышестоящей группировки?
  5. yourname
    Offline

    yourname Опытный в 1С

    Регистрация:
    15 июл 2007
    Сообщения:
    84
    Симпатии:
    0
    Баллы:
    26
    БЛИН!!!!!!
    ТекущийДокумент - характеристика движения регистра а не остатка!!!
    Когда выбираются движения по регистру, ТекущийДокумент возвращает возвращает ссылку на документ, который это самое движение произвел.
    А ты выбираешь остатки!!!
    ...
    |Функция КонОст=КонОст(суммаЗаказа)

    Тут ТекущийДокумент не будет работать.
    Чтобы читать информацию из ТекущегоДокумента вместо КонОст (СуммаЗаказа) надо использовать
    Приход(СуммаЗаказа) или Расход(СуммаЗаказа) в зависимости от того, что тебе нужно.
    :unsure:

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