Имя: Пароль:
1C
1С v8
Динамический список документов РТиУ с выводом долга
0 ПростоПрепод1С
 
05.09.15
12:10
Доброе время суток, форумчане.
Я просто препод 1С, я не хочу прогать, а хочу консультировать, но увы...
Ближе к телу: В Ут 11.1 Создал subj, с произвольным запросом, в котором соединил список РТиУ с РН РасчетыСКлиентамиОстатки для вывода   задолженности клиента.

Вот сам запрос:

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

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


Проблема вот в этой строке:
СУММА(РасчетыСКлиентамиОстатки.СуммаОстаток) КАК СуммаОстаток

Мне не нужно суммировать долги. Но, когда я убираю суммирование, программа жалуется, что:  
"Поле не входит в группу "РасчетыСКлиентамиОстатки.СуммаОстаток"
т.е. надо сделать группировку по этой строке. Когда я делаю группировку, в пользоваткльском режиме программа ругается, что:
"Обнаружено дублирование ключевых значений в колонке ссылка. Отображение данных в списке невозможно".

Всё, что советует Гугл пробовал.
Прошу не кидаться тапками и не плеваться ядом, я не прогер, а просто препод.
Всем бобра и спасибо =)
1 vde69
 
05.09.15
12:12
никогда не учи заведомо бредовому...

нельзя делать динамические списки с выводом накопленных сумм....
2 ПростоПрепод1С
 
05.09.15
12:58
(1) 1. Я этому и не учу, я это пытаюсь сделать.
    2. А почему нет? Что в этом бредового?
3 jsmith82
 
05.09.15
13:15
Что это за бред в (0)?
4 jsmith82
 
05.09.15
13:16
Во-первых, пожалей народ. Неважные поля хотя бы * оформи.
5 vde69
 
05.09.15
13:16
(2) это дает нагрузку на сервер при любом скролинге. Тупить будет...
6 jsmith82
 
05.09.15
13:17
Вот так лучше

ВЫБРАТЬ
    ДокументРеализацияТоваровУслуг.*,
    СУММА(РасчетыСКлиентамиОстатки.СуммаОстаток) КАК СуммаОстаток
ИЗ
    Справочник.Номенклатура КАК Номенклатура,
    Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Остатки КАК РасчетыСКлиентамиОстатки
        ПО ДокументРеализацияТоваровУслуг.Контрагент = РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент

СГРУППИРОВАТЬ ПО
    ДокументРеализацияТоваровУслуг.*
7 jsmith82
 
05.09.15
13:17
Сразу вопрос: причём тут справочник Номенклатура? Опечатка?
8 jsmith82
 
05.09.15
13:18
Зачем группируешь? Убери группировку.
9 jsmith82
 
05.09.15
13:19
А ошибку выдаёт потому, что в группировке одного поля не хватает. Поля должны либо группироваться, либо агрегироваться агрегатными функциями. Одно из двух. В твоём случае вообще не вижу смысла в группировках.
10 jsmith82
 
05.09.15
13:20
По теме скроллинга и производительности - если соединений не так много, особого ужаса, я думаю, нет. Ну на доли секунды будет дольше - ну не суть важно.
11 ПростоПрепод1С
 
05.09.15
13:54
Спасибо большое, за ответы, особенно jsmith82.
jsmith82, то есть совсем не делать группировок?
Тогда же оно будет повторяющиеся строки выводить?
> Справочник.Номенклатура КАК Номенклатура
Вот это непонятно совсем сюда как попало. ^^
12 jsmith82
 
05.09.15
14:17
(11) А дублей не будет.
13 jsmith82
 
05.09.15
14:18
Ибо запрос к документу. Соединение с виртуальной таблицей остатков. Если в запрос не тащить иные поля из регистра остатков, дублей не должно быть.
14 jsmith82
 
05.09.15
14:24
Вот ты же препод. Мысли методологически. Речь о форме списка документов. Они ни в коем случае в запросе не должны дублироваться. Если дублируются - не нужно чинить дыру группировкой, нужно сделать запрос так, чтобы не дублировались. В твоём случае, имхо, дублироваться не должно.
15 ПростоПрепод1С
 
05.09.15
14:24
(6) Ругается:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(44, 33)}: Поле не найдено "ДокументРеализацияТоваровУслуг.*"
ДокументРеализацияТоваровУслуг.<<?>>*

(9) Попробовал без группировки ВОБЩЕ, все равно выдает, что
"Обнаружено дублирование ключевых значений в колонке ссылка. Отображение данных в списке невозможно".
16 ПростоПрепод1С
 
05.09.15
14:26
(14) Вот и я смотрю на таблицу, в которой просто объединяю список документов с РН и не понимаю, ЧЕГО там дублируется... '-(
17 jsmith82
 
05.09.15
14:26
(15) Может, вложенный запрос сделать..
18 jsmith82
 
05.09.15
14:26
Щас открою ут 11.
19 jsmith82
 
05.09.15
14:31
Сщас создал обработку с динамическим списком
Текст запроса:

ВЫБРАТЬ
    ДокументРеализацияТоваровУслуг.*,
    РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
    Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Остатки КАК РасчетыСКлиентамиОстатки
        ПО ДокументРеализацияТоваровУслуг.Контрагент = РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент
20 jsmith82
 
05.09.15
14:32
Всё работает
21 jsmith82
 
05.09.15
14:32
Звёздочку * я поставил тупо, чтобы сократить твою портянку.
Ты можешь оставить свои поля.
22 ПростоПрепод1С
 
05.09.15
15:23
(19) Всё, что можно убрал, проще некуда.

ВЫБРАТЬ
    ДокументРеализацияТоваровУслуг.Номер,
    РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
    Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.Остатки КАК РасчетыСКлиентамиОстатки
        ПО ДокументРеализацияТоваровУслуг.Контрагент = РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент

Все равно выдает, Обнаружено дублирование ключевых значений в колонке ссылка
23 jsmith82
 
05.09.15
15:32
(22) Попробуй так

ВЫБРАТЬ
    ДокументРеализацияТоваровУслуг.*,
    РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
    Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент КАК Контрагент,
            СУММА(РасчетыСКлиентамиОстатки.СуммаОстаток) КАК СуммаОстаток
        ИЗ
            РегистрНакопления.РасчетыСКлиентами.Остатки КАК РасчетыСКлиентамиОстатки
        
        СГРУППИРОВАТЬ ПО
            РасчетыСКлиентамиОстатки.АналитикаУчетаПоПартнерам.Контрагент) КАК РасчетыСКлиентамиОстатки
        ПО ДокументРеализацияТоваровУслуг.Контрагент = РасчетыСКлиентамиОстатки.Контрагент
24 H A D G E H O G s
 
05.09.15
16:01
В остатках есть несколько разных аналитег по одному контрагенту. Че тупим то?
25 H A D G E H O G s
 
05.09.15
16:03
Препода рекомендую сменить специальность на неайтишную и не подходить к 1С чуть менее чем никогда.
26 ПростоПрепод1С
 
05.09.15
17:16
(23) Вроде работает.
Это вложенный запрос?
Спасибо огромное!!!
27 ПростоПрепод1С
 
05.09.15
17:24
(24) Советчику советую поднять уровень культуры, выкинуть сЭмки, кЭпку, воздержаться от тупых комментариев не по делу и ВНИМАТЕЛЬНО прочитать мою профессию. Если плохо видно, могу посоветовать хороший магазин оптики.
Когда купите себе очки, если денег хватит (очки с такими диоптриями стоят гораздо больше, чем Вы получаете за год), могу пригласить к себе на курсы, показать свои сертификаты спеца - консультанта и преподские по 1с.
28 ПростоПрепод1С
 
05.09.15
17:27
(24) Хотя, несмотря на Ваши мелкие недостатки, спешу заметить, что в вопросе Вы разбираетесь явно лучше меня, потому что я не программист, и поблагодарить за мысль.
29 jsmith82
 
05.09.15
17:31
(26) Запрос с вложенным запросом.
30 jsmith82
 
05.09.15
17:32
Видимо, в твоей базе, как сказал ХеджХог, аналитика вида учета по партнерам по одному контрагенту несколько штук. Во вложенном запросе как-раз таки идёт группировка, а к самому документу уже идёт "сплюснутая таблица". На верхнем уровне никаких группировок для документа быть не должно в силу именно методологических соображений - форма списка документа.
31 ПростоПрепод1С
 
05.09.15
17:32
(29) Не, до таких высот я еще не дорос.
Просто ОГРОМНОЕ спасибо.
32 ПростоПрепод1С
 
05.09.15
17:35
(30) Пока что ничего не понял.
Вернусь к этому ответу через пару - тройку лет )