×
Показано с 1 по 2 из 2
  1. #1
    Клерк
    Регистрация
    19.09.2007
    Сообщений
    1

    Помогите Помогите найти ошибку в коде

    Привет всем! Я новенькая! Рада общаться с профессионалами и учиться новому.
    Прошу помочь с одним кодом, бьюсь над ним уже долго.Там такая штука: все выводит как надо кроме свойст объектов, он всюду повторяет свойство первого обекта.
    Мне кажется дело в группировке по номеру (это самая последняя Выборка.Номер), потому как без нее - все нормально, только номер тогда не выводит.
    Вот сам код :
    Процедура ДействияФормыПланПоставок1Сформировать(Кнопка)


    ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
    ПланПоставок1(ТабДок);

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

    Процедура ПланПоставок1(ТабДок) Экспорт

    Макет = ОтчетОбъект.ПолучитьМакет("ПланПоставок1");
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьНомер = Макет.ПолучитьОбласть("Номер");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

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

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

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


    Пока Выборка.следующий() цикл

    Ном = Выборка.Номенклатура;
    ОбластьДетальныхЗаписей.Параметры.Номенклатура = выборка.Номенклатура;
    ОбластьДетальныхЗаписей.Параметры.Код = выборка.Код;
    ОбластьДетальныхЗаписей.Параметры.Примечание = выборка.Примечание;
    ОбластьДетальныхЗаписей.Параметры.ОсновнойПоставщик = выборка.ОсновнойПоставщик;
    ОбластьДетальныхЗаписей.Параметры.Шасси = выборка.Шасси;
    ОбластьДетальныхЗаписей.Параметры.ФактическаяДатаВыхода= выборка.ФактическаяДатаВыхода;
    ОбластьДетальныхЗаписей.Параметры.НомерПоставкиЛогистика= выборка.НомерПоставкиЛогистика;
    ОбластьДетальныхЗаписей.Параметры.Ответственный= выборка.Ответственный;
    ОбластьДетальныхЗаписей.Параметры.Комментарий= выборка.Комментарий;
    ОбластьДетальныхЗаписей.Параметры.ТранспортнаяСхема= выборка.ТранспортнаяСхема;
    ОбластьДетальныхЗаписей.Параметры.ДатаГотовности= выборка.ДатаГотовности;

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

    Запрос1.УстановитьПараметр("Номенклатура",ном);

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


    Пока Выборка1.Следующий() Цикл
    ЗначениеСвойства = Строка(Выборка1.Свойство);

    если значениеСвойства= "Собственный вес" тогда
    СобственныйВес=выборка1.значение;
    конецЕсли;
    Если ЗначениеСвойства = "Тип ТС" Тогда
    ТипТС= Выборка1.Значение;
    КонецЕсли;
    Если ЗначениеСвойства = "Год выпуска" Тогда
    ГодВыпуска = Выборка1.Значение;
    КонецЕсли;
    КонецЦикла;

    ОбластьДетальныхЗаписей.Параметры.СобственныйВес = СобственныйВес;
    ОбластьДетальныхЗаписей.параметры.ГодВыпуска =ГодВыпуска;
    ОбластьДетальныхЗаписей.Параметры.ТипТС = ТипТС;


    КонецЦикла;

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

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

    ВыборкаДетали = ВыборкаНомер.Выбрать();

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

    ТабДок.ЗакончитьАвтогруппировкуСтрок();



    КонецПроцедуры
    Поделиться с друзьями

  2. #2
    Умный Клерк!
    Регистрация
    07.01.2004
    Адрес
    Владимир
    Сообщений
    13,623
    мысль в коде не понял.
    p.s. а на кой два запроса? что вам одним-то не собирается?
    1.Открыта новая радиостанция для юзеров под названием RТ FМ. По ней будут транслироваться чтения различных мануалов и ответы на часто задаваемые вопросы.
    2. "Помогая ленивым людям, ты помогаешь им сесть на свою шею" Сян-Цзы

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)