|
v7: Группировка с учетом различий в разных полях - как? | ☑ | ||
---|---|---|---|---|
0
sivsoft
06.08.13
✎
11:37
|
Доброго времени суток!
Тупой вопрос, но просто никогда этого не возникало. Есть Запрос, который формирует выборку из документов ПриходнаяНакладнаяЗапасы: //{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ПриходнаяНакладнаяЗапасы = Документ.ПриходнаяНакладнаяЗапасы.ТекущийДокумент; |МестоХранения = Документ.ПриходнаяНакладнаяЗапасы.МестоХранения; |ТМЦ = Документ.ПриходнаяНакладнаяЗапасы.ТМЦ; |Кво = Документ.ПриходнаяНакладнаяЗапасы.Кво; |СуммаСНДС = Документ.ПриходнаяНакладнаяЗапасы.СуммаСНДС; |Заказ = Документ.ПриходнаяНакладнаяЗапасы.Заказ; |Контрагент = Документ.ПриходнаяНакладнаяЗапасы.Контрагент; |Функция КвоСумма = Сумма(Кво); |Функция СуммаСНДССумма = Сумма(СуммаСНДС); |Группировка Заказ; |Группировка ТМЦ без групп; |Условие(МестоХранения в ВыбМестоХранения); |Условие(ТМЦ в ВыбТМЦ); |Условие(Заказ в ВыбЗаказ); |Условие(Контрагент в ВыбКонтрагент); | Все бы хорошо, но попались приходные накладные, в которых ТМЦ не различается и остальные поля тоже. Различается только номер приходной накладной, т.е. поле ПриходнаяНакладнаяЗапасы. Как тут сделать, чтобы при различии в любом поле он не группировал записи? |
|||
1
palpetrovich
06.08.13
✎
11:38
|
добавить группировку ПриходнаяНакладнаяЗапасы
|
|||
2
Ёпрст
06.08.13
✎
11:39
|
очевидно, что |Группировка Документ;
Добавить в начало. |
|||
3
palpetrovich
06.08.13
✎
11:43
|
(2) я-б внес между Заказ И ТМЦ
|
|||
4
sivsoft
06.08.13
✎
12:15
|
Не получается. Не выводит ТМЦ в этом случае - просто пустое поле.
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ПриходнаяНакладнаяЗапасы = Документ.ПриходнаяНакладнаяЗапасы.ТекущийДокумент; |МестоХранения = Документ.ПриходнаяНакладнаяЗапасы.МестоХранения; |ТМЦ = Документ.ПриходнаяНакладнаяЗапасы.ТМЦ; |Кво = Документ.ПриходнаяНакладнаяЗапасы.Кво; |СуммаСНДС = Документ.ПриходнаяНакладнаяЗапасы.СуммаСНДС; |Заказ = Документ.ПриходнаяНакладнаяЗапасы.Заказ; |Контрагент = Документ.ПриходнаяНакладнаяЗапасы.Контрагент; |Функция КвоСумма = Сумма(Кво); |Функция СуммаСНДССумма = Сумма(СуммаСНДС); |Группировка Заказ; |Группировка Документ; |Группировка ТМЦ без групп; |Условие(МестоХранения в ВыбМестоХранения); |Условие(ТМЦ в ВыбТМЦ); |Условие(Заказ в ВыбЗаказ); |Условие(Контрагент в ВыбКонтрагент); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Заказ Таб.ВывестиСекцию("Заказ"); Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей ТМЦ Таб.ВывестиСекцию("ТМЦ"); КонецЦикла; КонецЦикла; // Заполнение полей "Итого" Таб.ВывестиСекцию("Итого"); |
|||
5
ЧеловекДуши
06.08.13
✎
12:22
|
(4) Пиши:
//Как нужно писать в цикле, когда нельзя это сделать в запросе //Особенно в Черном запросе от фирмы 1С :) ТЗ = Запрос.Выгрузить(); шш1 = 1; Пока шш1 <= ТЗ.КоличествоСтрок() Цикл // Шаманство и волшебство по обработке Таблицы значения шш1 = шш1 + 1; КонецЦикла; |
|||
6
ЧеловекДуши
06.08.13
✎
12:25
|
+ (5) Сори, от 8-ки...
ТЗ = СозатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ ,1,0); |
|||
7
КапЛей
06.08.13
✎
12:27
|
(4) тебе ж сказали. первая группировка Документ!
|
|||
8
sivsoft
06.08.13
✎
12:52
|
(7) Группировка Документ как первая, естественно не работает. На цикл гляньте! Мне нужно группировать по заказам и группировать по ТМЦ - т.е. отображать с разбивкой на заказы, а в заказах срез идет по ТМЦ. Все бы хорошо, если бы не было абсолютно идентичных документа.
Идиотские запросы 1С. Ну неужели нельзя было воспользоваться готовым и c 1974 года существующим СТАНДАРТНЫЙ языком запросов SQL, а не фигню какую-то выдумывать. 1С - одни костыли какие-то :( Ладно, лирика это... :) Буду ручками циклом перебирать. |
|||
9
Ёпрст
06.08.13
✎
12:55
|
(8) пиши на sql - никто не запрещает.
|
|||
10
Ёпрст
06.08.13
✎
12:55
|
делать этого в 1с
|
|||
11
Cube
06.08.13
✎
13:05
|
(8) Если ты у шуруповерта кнопочку не нажимаешь, а заворачиваешь им шурупы, крутя его в руках и матерясь, что шуруповерты идиотские и почему нельзя было сделать как стандартные отвертки сделаны, то проблема на твоей стороне...
|
|||
12
palpetrovich
06.08.13
✎
14:27
|
поменяй
|Группировка Документ; на |Группировка ПриходнаяНакладнаяЗапасы; |
|||
13
sivsoft
06.08.13
✎
15:57
|
(12) тоже самое
|
|||
14
Dolly_EV
06.08.13
✎
16:21
|
(0) Группировка СтрокаДокумента тебе поможет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |