Имя: Пароль:
1C
1C 7.7
v7: Показать Клиента, которому принадлежит Пункт Доставки
0 aleksander1sk
 
03.09.15
12:02
Есть обработка:
                              //*******************************************

// Процедура генерации запроса Сформировать.
//

Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    сз = СоздатьОбъект("СписокЗначений");
    спр = СоздатьОбъект("Справочник.дТовары");
    спр.НайтиПоКоду("9906");
    сз.ДобавитьЗначение(спр.текущийЭлемент());
    сз2 = СоздатьОбъект("СписокЗначений");
    спр = СоздатьОбъект("Справочник.дПунктыДоставки");
    спр.НайтиПоКоду("0002927-01");
    сз2.ДобавитьЗначение(спр.текущийЭлемент());
    //Создание объекта типа Запрос

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)

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

    ;
    // Если ошибка в запросе, то выход из процедуры

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

    // Подготовка к заполнению выходных форм данными запроса

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"

    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей ТП

        Таб.ВывестиСекцию("ТП");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей дкРасходнаяНакладная

            Таб.ВывестиСекцию("дкРасходнаяНакладная")
        КонецЦикла;
    КонецЦикла;
    // Заполнение полей "Итого"

    Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры

Пункты доставки - это подчиненный справочник справочника Клиенты
Нужно сделать так, чтобы в таблице отображалось не только название пунктаДоставки, но и клиента, к которому он принадлежит.
1 zenik
 
03.09.15
13:00
В таблице в секции дкРасходнаяНакладная пропиши:
Запрос.ТочкаДоставки.Владелец - это будет твой клиент.
2 aleksander1sk
 
03.09.15
13:19
(1) Спасибо, натолкнул на решение, добавил еще одну групировку по Клиенту, тогда отображается и Клиент, и сортируется в третьем столбце по точке доставки.