|
Как выбрать частично повторяющиеся данные из табличной части документа | ☑ | ||
---|---|---|---|---|
0
Эльфийка
21.02.12
✎
00:40
|
Есть документ уатВыдачаРасходныхМатериалов, в табличной части которого перечисляются номенклатура, ТС, количество и т.д. Бывает так, что в одном документе перечислено дважды одна номенклатура для разных ТС. Например, номенклатура -Фильтр воздушный, 1шт на ТС "BP 125 /16RUS", 1 шт на ТС "BP 117/16RUS". А в в двух строках отчета выходит "BP 125 /16RUS" по 1 шт. Как исправить?
Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ | уатВыдачаРасходныхМатериалов.Ссылка КАК Док, | уатВыдачаРасходныхМатериалов.Номенклатура КАК Номенклатура, | уатВыдачаРасходныхМатериалов.ТС КАК ТС |ИЗ | Документ.уатВыдачаРасходныхМатериалов.Материалы КАК уатВыдачаРасходныхМатериалов | |УПОРЯДОЧИТЬ ПО | Ссылка, | Номенклатура //| ТС |"; РезультатЗапроса1 = Запрос1.Выполнить(); в цикле Вывода строк таблицы .... Если ТипЗнч(ОбластьДанные.Параметры.Док) = Тип("ДокументСсылка.уатВыдачаРасходныхМатериалов") Тогда Выборка=РезультатЗапроса1.Выбрать(); Пока Выборка.Следующий() Цикл Если (Выборка.Номенклатура = Обход.Номенклатура) И (Выборка.Док = Обход.Док) Тогда //Сообщить(""+Выборка.Док+" Номенклатура "+Выборка.Номенклатура+" ТС: "+Выборка.ТС); Прервать КонецЕсли; КонецЦикла; ОбластьДанные.Параметры.ПечДок = Выборка.ТС КонецЕсли; |
|||
1
Fragster
гуру
21.02.12
✎
00:44
|
это потому что в личной карточке фотка не заполнена
|
|||
2
Эльфийка
21.02.12
✎
00:57
|
(1) фотка была, удалила, чтобы не просили ниже пояса показать-как мне ранее писали "всем известное место"
|
|||
3
Эльфийка
21.02.12
✎
00:59
|
Уважаемые молодые люди, мужчины (мужской пол), прошу Вас писать по существу. И не захламлять тему. Заранее благодарю!!!!!)))))))
|
|||
4
Stim
21.02.12
✎
01:34
|
жесть
|
|||
5
DrHiHi
21.02.12
✎
01:57
|
это конфигурация Н'бтон Трейда??
|
|||
6
DrHiHi
21.02.12
✎
01:57
|
*Н'ютон-Трейда
|
|||
7
Эльфийка
21.02.12
✎
02:05
|
(5)(6)1С Управление автотранспортом
|
|||
8
DrHiHi
21.02.12
✎
02:10
|
вот тут
Выборка=РезультатЗапроса1.Выбрать(); Пока Выборка.Следующий() Цикл Если (Выборка.Номенклатура = Обход.Номенклатура) И (Выборка.Док = Обход.Док) Тогда //Сообщить(""+Выборка.Док+" Номенклатура "+Выборка.Номенклатура+" ТС: "+Выборка.ТС); Прервать КонецЕсли; КонецЦикла; постоянно будет выбирать только первую строку |
|||
9
DrHiHi
21.02.12
✎
02:11
|
какой отчет??
|
|||
10
Эльфийка
21.02.12
✎
02:28
|
Прервать убрала, все равно так же
Если ТипЗнч(ОбластьДанные.Параметры.Док) = Тип("ДокументСсылка.уатВыдачаРасходныхМатериалов") Тогда Выборка=РезультатЗапроса1.Выбрать(); Пока Выборка.Следующий() Цикл Если (Выборка.Номенклатура = Обход.Номенклатура) И (Выборка.Док = Обход.Док) Тогда ОбластьДанные.Параметры.ПечДок = Выборка.ТС КонецЕсли; КонецЦикла; //ОбластьДанные.Параметры.ПечДок = Выборка.ТС КонецЕсли; |
|||
11
SeraFim
21.02.12
✎
02:37
|
(0) не понял, какой результат нужен-то?
|
|||
12
SeraFim
21.02.12
✎
02:38
|
если нужно "BP 125 /16RUS" - 2 шт. тогда делай сумму и группируй
Если нужно просто убрать повторяющиеся, то ВЫБРАТЬ РАЗЛИЧНЫЕ |
|||
13
Эльфийка
21.02.12
✎
02:40
|
(12) нужно "BP 125 /16RUS" -1 шт, "BP 117/16RUS" - 1 шт
|
|||
14
SeraFim
21.02.12
✎
02:46
|
а, невнимательно прочитал)
а что вообще такое "обход" и зачем он нужен? |
|||
15
DrHiHi
21.02.12
✎
02:48
|
ОбластьДанные.Параметры.ПечДок = Выборка.ТС
ОбластьДанные - это область макета, которую ты будешь выводить, так что тебе ее еще нужно вывести, а потом уже продолжать обход цикла |
|||
16
Эльфийка
21.02.12
✎
15:47
|
(15) так ведь у меня вывод происходит внутри цикла, разве нет?
|
|||
17
Эльфийка
21.02.12
✎
23:16
|
кто-нибудь, помогите, плиз!!!!!!!
|
|||
18
Stim
21.02.12
✎
23:18
|
удалите весь код и огласите задачу полностью
|
|||
19
hhhh
22.02.12
✎
01:29
|
(17) сделайте отдельный регистр, в котором будет информация храниться в том аиде, как вам надо. А таскать данные из табличных частей, да еше и частично повторяющиеся - это лучше сразу повеситься.
|
|||
20
Эльфийка
23.02.12
✎
00:15
|
(19)чтобы сделать отдельный регистр, это надо будет конфу дописывать? по возможности хотелось бы без изменения
|
|||
21
AlexNew
23.02.12
✎
00:20
|
А СГРУППИРОВАТЬ отменили?
|
|||
22
Эльфийка
23.02.12
✎
00:27
|
(21) Ошибка при вызове метода контекста (Выполнить): {(3, 2)}: Поле не входит в группу "уатВыдачаРасходныхМатериалов.Номенклатура"
<<?>>уатВыдачаРасходныхМатериалов.Номенклатура КАК Номенклатура, РезультатЗапроса1 = Запрос1.Выполнить(); |
|||
23
Эльфийка
23.02.12
✎
00:27
|
Запрос1 = Новый Запрос;
Запрос1.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | уатВыдачаРасходныхМатериалов.Ссылка КАК Док, | уатВыдачаРасходныхМатериалов.Номенклатура КАК Номенклатура, | уатВыдачаРасходныхМатериалов.ТС КАК ТС, | уатВыдачаРасходныхМатериалов.НомерСтроки КАК НС |ИЗ | Документ.уатВыдачаРасходныхМатериалов.Материалы КАК уатВыдачаРасходныхМатериалов |ГДЕ | уатВыдачаРасходныхМатериалов.Номенклатура = &Материал | |СГРУППИРОВАТЬ ПО | уатВыдачаРасходныхМатериалов.Ссылка //| уатВыдачаРасходныхМатериалов.Номенклатура, //| уатВыдачаРасходныхМатериалов.ТС, //| уатВыдачаРасходныхМатериалов.НомерСтроки | |УПОРЯДОЧИТЬ ПО | Док, | НС, | ТС"; Запрос1.УстановитьПараметр( "Материал", Материал); РезультатЗапроса1 = Запрос1.Выполнить(); |
|||
24
Эльфийка
23.02.12
✎
00:28
|
немного переписала код
|
|||
25
AlexNew
23.02.12
✎
00:29
|
Маладец, добавь все то, что у тебя не входит в группу, или поставь Максимум, минимум, что тебе нравится, если не волнует, что получится.
|
|||
26
Эльфийка
23.02.12
✎
00:33
|
Группировка не помогла, все равно все тоже выходит((((
|
|||
27
Эльфийка
23.02.12
✎
00:35
|
а вернее когда делаем выборку запроса в цикле вывода строк таблицы, не видит вторую строку в этом же документе с нужными данными
|
|||
28
Эльфийка
23.02.12
✎
00:36
|
Т.е. вот что получается, если выборка следует после запроса
Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 122 /16RUS Номер строки 2 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 139 /16RUS Номер строки 12 Выдача расходных материалов (уат) 00000000003 от 09.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 127 /16RUS Номер строки 1 Выдача расходных материалов (уат) 00000000005 от 02.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: ВТ 359 /16RUS Номер строки 5 |
|||
29
Эльфийка
23.02.12
✎
00:38
|
а вот что внутри цикла
Выдача расходных материалов (уат) 00000000006 от 03.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: ВТ 374 /16RSU Номер строки 2 Выдача расходных материалов (уат) 00000000008 от 05.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 193 /16RUS Номер строки 1 Выдача расходных материалов (уат) 00000000009 от 06.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 189 /16RUS Номер строки 1 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 122 /16RUS Номер строки 2 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 139 /16RUS Номер строки 12 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 122 /16RUS Номер строки 2 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 139 /16RUS Номер строки 12 Выдача расходных материалов (уат) 00000000003 от 09.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 127 /16RUS Номер строки 1 Выдача расходных материалов (уат) 00000000014 от 13.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 112 /16RUS Номер строки 2 |
|||
30
AlexNew
23.02.12
✎
00:41
|
А что получается, если выборка после запроса? Что ты переписала? Код. И слушай, менять профессию надо.
|
|||
31
Эльфийка
23.02.12
✎
00:44
|
(30)прошу строго не судить чайника
|
|||
32
Эльфийка
23.02.12
✎
00:44
|
до добавления СГРУППИРОВАТЬ, у меня выходило
Выдача расходных материалов (уат) 00000000006 от 03.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: ВТ 374 /16RSU Номер строки 2 Выдача расходных материалов (уат) 00000000008 от 05.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 193 /16RUS Номер строки 1 Выдача расходных материалов (уат) 00000000009 от 06.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 189 /16RUS Номер строки 1 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 139 /16RUS Номер строки 12 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 139 /16RUS Номер строки 12 Выдача расходных материалов (уат) 00000000003 от 09.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 127 /16RUS Номер строки 1 |
|||
33
AlexNew
23.02.12
✎
00:55
|
Где тут количество?
|
|||
34
Эльфийка
23.02.12
✎
01:01
|
Выдача расходных материалов (уат) 00000000006 от 03.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: ВТ 374 /16RSU Номер строки 2 Кол-во 1
Выдача расходных материалов (уат) 00000000008 от 05.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 193 /16RUS Номер строки 1 Кол-во 1 Выдача расходных материалов (уат) 00000000009 от 06.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 189 /16RUS Номер строки 1 Кол-во 1 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 122 /16RUS Номер строки 2 Кол-во 1 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 139 /16RUS Номер строки 12 Кол-во 1 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 122 /16RUS Номер строки 2 Кол-во 1 Выдача расходных материалов (уат) 00000000002 от 08.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 139 /16RUS Номер строки 12 Кол-во 1 Выдача расходных материалов (уат) 00000000003 от 09.01.2012 12:00:00 Номенклатура Фильтр воздушный ТС: BP 127 /16RUS Номер строки 1 Кол-во 1 |
|||
35
Эльфийка
23.02.12
✎
01:01
|
а в отчете выходит
03 янв. 12 г. 00000000006 1 ВТ 374 /16RSU шт - 1,00 05 янв. 12 г. 00000000008 2 BP 193 /16RUS шт - 1,00 06 янв. 12 г. 00000000009 3 BP 189 /16RUS шт - 1,00 08 янв. 12 г. 00000000002 4 BP 139 /16RUS шт - 1,00 08 янв. 12 г. 00000000002 5 BP 139 /16RUS шт - 1,00 09 янв. 12 г. 00000000003 6 BP 127 /16RUS шт - 1,00 |
|||
36
AlexNew
23.02.12
✎
01:03
|
Теперь Сумма(Количество) отменили. При чем тут чайник?
|
|||
37
Эльфийка
23.02.12
✎
01:06
|
Не поняла, а зачем мне сумма?
у меня должно получиться в отчете 08 янв. 12 г. 00000000002 4 BP 122 /16RUS шт - 1,00 08 янв. 12 г. 00000000002 5 BP 139 /16RUS шт - 1,00, т.к. в документе было указано по одной шт для каждого ТС |
|||
38
Эльфийка
23.02.12
✎
01:08
|
и непонятно почему выборка теперь пробегает 4раза по документу №2
|
|||
39
Эльфийка
23.02.12
✎
01:09
|
причем, когда прохожу отладчиком, пробегает только 2 раза
|
|||
40
Эльфийка
23.02.12
✎
01:28
|
(38), (39) сообщает 4раза разобралась
|
|||
41
AlexNew
23.02.12
✎
01:34
|
(40) Какая умная. Сама с собой говорит.
|
|||
42
Эльфийка
23.02.12
✎
02:17
|
(41) Больше не с кем)))
|
|||
43
Garkin
23.02.12
✎
02:25
|
(42) зря ты (18) проигнорировала.
|
|||
44
catena
23.02.12
✎
05:28
|
ыыыы
Мадам, вам уже говорили в предудыщей ветке а) пользуйтесь конструктором запроса б) четко описывайте задачу в) ну соедините уже ваш запрос с запросом, который у вас в "Обход" - сразу будет выходить все как вам надо, без всяких страшных условий при выборке. |
|||
45
zak555
23.02.12
✎
07:47
|
(7) рарус ?
|
|||
46
zak555
23.02.12
✎
07:49
|
(23) > | уатВыдачаРасходныхМатериалов.Номенклатура = &Материал
а что может в ТЧ быть только один марианл ? о_О |
|||
47
Эльфийка
24.02.12
✎
00:27
|
(44) Если соединять с Обходом, то отваливаются другие документы, которые нужно, будь то Поступление товаров и услуг
|
|||
48
Эльфийка
24.02.12
✎
00:27
|
всем спасибо, вопрос решен
|
|||
49
Эльфийка
24.02.12
✎
00:47
|
Дорогие Мужчины! Поздравляю всех с днем защитника отечества!
|
|||
51
catena
24.02.12
✎
18:36
|
(47)Если соединять с умом, ничего не отвалится.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |