Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как сгруппировать запрос?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Общий раздел > Корзина
meverikxp
Здравствуйте, я сделал запрос и сгруппировал его по контрагенту и номенклатуре в результате получилось следующие:
Контрагент 1 | Номенклатура 1
Контрагент 1 | Номенклатура 2
Контрагент 1 | Номенклатура 3
Контрагент 1 | Номенклатура 4
Контрагент 2 | Номенклатура 1
Контрагент 2 | Номенклатура 2
Контрагент 2 | Номенклатура 3

а как сделать так


Контрагент 1 | Номенклатура 1
.....................| Номенклатура 2
.....................| Номенклатура 3
.....................| Номенклатура 4
Контрагент 2 | Номенклатура 1
.....................| Номенклатура 2
.....................| Номенклатура 3
Результат мне нужно получить в табличную часть "Контрагенты". И строки с одинаковыми контрагентами объединить в одну строку. Как это можно сделать?
DartRomanius
Цитата(meverikxp @ 18.05.11, 9:35) необходимо зарегистрироваться для просмотра ссылки
Здравствуйте, я сделал запрос и сгруппировал его по контрагенту и номенклатуре в результате получилось следующие:
Контрагент 1 | Номенклатура 1
Контрагент 1 | Номенклатура 2
Контрагент 1 | Номенклатура 3
Контрагент 1 | Номенклатура 4
Контрагент 2 | Номенклатура 1
Контрагент 2 | Номенклатура 2
Контрагент 2 | Номенклатура 3

а как сделать так


Контрагент 1 | Номенклатура 1
.....................| Номенклатура 2
.....................| Номенклатура 3
.....................| Номенклатура 4
Контрагент 2 | Номенклатура 1
.....................| Номенклатура 2
.....................| Номенклатура 3
Результат мне нужно получить в табличную часть "Контрагенты". И строки с одинаковыми контрагентами объединить в одну строку. Как это можно сделать?



Где объединить то? В табличном документе?
Телепаты знаете в отпуску. И кажись недавно такая тема была уже.
Vofka
упорядочить по
   Контрагент,
   Номенклатура


П.С, ну это что, тема из разряда "для пользователей"? Ну что вы, в самом деле. И платформу укажите! Ну *лять, тяжело с правилами ознакомиться? Ну сил уже нет! А пока тема переезжает к экстрасенсам!
Ardi
Необходимо прочитать книгу: необходимо зарегистрироваться для просмотра ссылки и сразу откроется третья чакра - как это сделать.
Zaval
Цитата(meverikxp @ 18.05.11, 9:35) необходимо зарегистрироваться для просмотра ссылки
Результат мне нужно получить в табличную часть "Контрагенты". И строки с одинаковыми контрагентами объединить в одну строку. Как это можно сделать?


Тогда зачем по номенклатуре разворачивали? Не обходите результат по групНоменклатура (если запрос с итогами).
meverikxp
Цитата(Vofka @ 18.05.11, 8:58) необходимо зарегистрироваться для просмотра ссылки
упорядочить по
   Контрагент,
   Номенклатура


П.С, ну это что, тема из разряда "для пользователей"? Ну что вы, в самом деле. И платформу укажите! Ну *лять, тяжело с правилами ознакомиться? Ну сил уже нет! А пока тема переезжает к экстрасенсам!

Вот запрос:

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


Вопрос:
как сделать так чтобы контрагент не повторялся в ТЧ?
Zaval
Как минимум... примерно
Поменяйте порядок группировок, закажите Итоги., результаты запроса не перебирайте, а обойдите по верхней группировке.
meverikxp
Цитата(Zaval @ 18.05.11, 12:38) необходимо зарегистрироваться для просмотра ссылки
... а обойдите по верхней группировке.

можно более подробно, не могу понять о чем речь

Я так понял что меня никто не понял. Прошу извинения. То что я хочу получить в результате нарисовал в картинках, может это поможет меня понять
то что есть:



то чего хочу:


это можно как-то сделать?
Ardi
в табличной части так незя.
Можно в табличном документе.

Хотя... если в табличной части возможно рамку убрать.... то можно
meverikxp
Цитата(Ardi @ 18.05.11, 15:50) необходимо зарегистрироваться для просмотра ссылки
в табличной части так незя.
Можно в табличном документе.

Ну вообще задача у меня следующая:
есть реализация товаров которая проходит каждый день, и нужно собрать все записи по контрагенту за месяц и создать одну общую налоговую накладную.
Хотел сделать так, что бы выбрать всех контрагентов, показать товар который они брали, отобрать тех по которым нужно создать общую налоговую. Может есть идеи как это сделать?

Цитата(Ardi @ 18.05.11, 15:50) необходимо зарегистрироваться для просмотра ссылки
Хотя... если в табличной части возможно рамку убрать.... то можно

Что значить убрать рамку?
Zaval
Хм... а чем плох стандартный механизм формирования итоговых НН?
meverikxp
Цитата(Zaval @ 18.05.11, 16:03) необходимо зарегистрироваться для просмотра ссылки
Хм... а чем плох стандартный механизм формирования итоговых НН?

Че-то не получается у меня сделать им то что нужно. Может неправильно делаю. Просветите меня пожалуйста.
DartRomanius
Цитата(meverikxp @ 18.05.11, 17:05) необходимо зарегистрироваться для просмотра ссылки
Че-то не получается у меня сделать им то что нужно. Может неправильно делаю. Просветите меня пожалуйста.


Значит так:
1. Подобный вопрос был! (Уже точно помню, что был)
2. Решение в данном случае в лоб выглядит как:
- смотрим на контрагента, запоминаем номер строки, это у нас старт для объединения. Так же запомнить контрагента.
- запоминаем текущую позицию для следующего витка цикла.
- перед выводом очередной строки, проверяем контрагент тот или изменился:
- если изменился, объединяем область
- если нет, идем дальше.

3. Вопрос по поводу НН вынести в отдельную ветку. Да и вообще описывайте задачу, а не кусками.
Повторюсь, телепаты в отпуску.
meverikxp
Цитата(DartRomanius @ 18.05.11, 18:30) необходимо зарегистрироваться для просмотра ссылки
Значит так:
1. Подобный вопрос был! (Уже точно помню, что был)
2. Решение в данном случае в лоб выглядит как:
- смотрим на контрагента, запоминаем номер строки, это у нас старт для объединения. Так же запомнить контрагента.
- запоминаем текущую позицию для следующего витка цикла.
- перед выводом очередной строки, проверяем контрагент тот или изменился:
- если изменился, объединяем область
- если нет, идем дальше.

3. Вопрос по поводу НН вынести в отдельную ветку. Да и вообще описывайте задачу, а не кусками.
Повторюсь, телепаты в отпуску.

Огромное спасибо за ответы, и судя по ответам не все телепаты ушли в отпуск, некие остались. Проблему решил таким способом:
Создал две формы, в одной выводится таблица с контрагентами и общей суммой, при нажатии на строку открывается вторая форма, с записями по номенклатуре.
Потом обхожу каждую строку в первой форме и создаю НН перенося данные. Вот в принципе и все. Есть проблема с заполнением. но этот вопрос задам в другой теме. Всем еще раз СПАСИБО!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.