Имя: Пароль:
1C
1С v8
Получить список значений или массив запросом
, , ,
0 Mad88
 
06.12.17
07:43
Доброе утро господа, подскажите можно ли получить список значений запросом.
Например возьмем документы реализации, сделаем запрос к табличным частям получим следующий результат
Ном1   Док1    100
Ном1   Док2    150
Ном2   Док1    500
ном3   Док1    50
Ном4   Док1    200
Ном4   Док2    350
Ном4   Док3    400

А нужно получить такой результат, то есть в поле Док, нужно получиь массив документов по номенклатуре

Ном1 Док1,Док2        250
Ном2 Док1             500
Ном3 Док1             50
Ном4 Док1,Док2,Док3   950
1 igorPetrov
 
06.12.17
07:46
(0) Можно. Не возражает ни кто.
2 nordbox
 
06.12.17
07:47
разрешаю, делай
3 nordbox
 
06.12.17
07:49
+2 только если у тебя будет не 3 дока, а 3333 то это будет не совсем красиво ))
4 Mad88
 
06.12.17
07:50
(3) Это не важно, как сделать то?
5 nordbox
 
06.12.17
07:51
Ну на СКД сделай
6 nordbox
 
06.12.17
07:52
+5 или ты хочешь что бы за тебя код написали?
этого тут делать ни кто не будет
7 igorPetrov
 
06.12.17
07:53
(4) А как пробовал? Что не получилось?
8 Mad88
 
06.12.17
07:53
(6) Никаких СКД, только запрос, в этом суть
9 igorPetrov
 
06.12.17
07:54
(8) И пиши запрос.
10 nordbox
 
06.12.17
07:56
(7) +100500
(4) покажи что ты делал? где там у тебя грабли? откуда ты выбираешь
во первых что это за такая выборка:
>>Например возьмем документы реализации, сделаем запрос к табличным частям получим следующий результат
Ном1   Док1    100
Ном1   Док2    150
ТЫ берешь один док с выборкой из таб части, а хочешь что бы у тебя и второй тут нарисовался..
11 nordbox
 
06.12.17
07:58
Тебе выбирать надо из какого то регистра, с группировкой по номенклатуре и регистратору
12 Рэйв
 
06.12.17
07:58
(0)мРезультат=Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ИмяПоля");
13 Рэйв
 
06.12.17
07:59
+
...
сРез=Новый СписокЗначений;
сРез.ЗагрузитьЗначения(мРезультат);
14 nordbox
 
06.12.17
08:01
+11 и что ты ни когда актуальных данных не получишь
вчера ушло 100 и послезавтра ушло 150, а сегодня пришло 200 и что у тебя получится??
ушло 100
пришло 200
ушло 150
???
15 Mad88
 
06.12.17
08:02
(14) Чиво? Пришел тут ушло пришло
ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю = &СчетНаОплатуПокупателю

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Ссылка
16 nordbox
 
06.12.17
08:04
Ну так а вопрос тогда в чем у тебя?
17 Mad88
 
06.12.17
08:04
Вот например запрос, вот например результат
Ссылка    Номенклатура    Сумма
Реализация 4     Ном2    280
Реализация 3     Ном1    500
Реализация 3     Ном2    280
Реализация 3    Ном4    3 600

Нужно сделать группировку только по номенклатуре, суммы сложатся, а реализации запихаются в массив или СЗ....
18 igorPetrov
 
06.12.17
08:04
(15) и?
19 nordbox
 
06.12.17
08:05
Ну и запихивай
20 igorPetrov
 
06.12.17
08:05
(17) Чего хотел то?
21 Mad88
 
06.12.17
08:05
(19) Это прекрасный ответ, мой вопрос КАК это сделать...
22 igorPetrov
 
06.12.17
08:09
(21) Причем тут запрос и СЗ или массив?
23 nordbox
 
06.12.17
08:09
Выгрузи в таб значений и уже потом эту Таблицу короч как тебе нраыится
24 Mad88
 
06.12.17
08:15
(23) это все понятно, я спрашивал можно ли получить такой результат только выполнив запрос, без дальнейшей обработки результата
25 ildary
 
06.12.17
08:18
(24) я присел поудобнее, достал попкорн.
26 Mad88
 
06.12.17
08:19
(25) На что ты присел?)
27 igorPetrov
 
06.12.17
08:20
(24) Это без обработки? - "а реализации запихаются в массив или СЗ..."
28 Mad88
 
06.12.17
08:23
(27) Да, может запросе такое выдаватЬ?
29 igorPetrov
 
06.12.17
08:24
(28) Что "выдавать запросе"?
30 nordbox
 
06.12.17
08:33
(28) Тебе мёд, да ещё и ложками... )))
31 igorPetrov
 
06.12.17
08:37
ТС несет какую-то пургу и еще обижается...
32 PCcomCat
 
06.12.17
08:46
В (17) получится, что будут дублироваться некоторые накладные, если в накладной не одна позиция накладные. Что в массиве-то должно быть?
33 nordbox
 
06.12.17
08:49
(32) Ему походу надо где участвует номенклатура
Номенклатура1|Док1|Док2|Док3|Док4| ИТОГ
Номенклатура2|Док2|Док3|Док4|Док5|Док6|..... ИТОГ
Только смысл в этом?
34 igorPetrov
 
06.12.17
08:53
(33) Да, |Док1865|..... ИТОГ , просто супер будет)
35 nordbox
 
06.12.17
08:53
Проще и нагляднее сделать
Ном1
  Док1
  Док2
  Док3
  Док4
Ном2
  Док3
  Док5
  Док7
  Док9
Так это в типовом отчете можно сделать и нагляднее будет
36 nordbox
 
06.12.17
08:56
(34) Елки лохматые, так в СКД это занятие занимает 5 минут ленивой  работы
причем даже в таком варианте как ты хочешь
37 igorPetrov
 
06.12.17
08:58
(36) Я ни как не хочу, это ТС чего то хочет.
38 PCcomCat
 
06.12.17
09:00
(33) Тренируешься в телепатии?))
39 nordbox
 
06.12.17
09:04
(38) Ага, telepat.dll тестирую ))
40 nordbox
 
06.12.17
09:24
(0) Тебе так чоли ?
http://s019.radikal.ru/i608/1712/05/8b8c577b31d2.jpg
если Да, то тогда раскрой великую тайну, на кой х.. эта порнография?
41 Mad88
 
06.12.17
10:50
(36) дак нет скд, госпади, я написал об это миллиард раз, просото делается запрос, результат запроса в тз,в одной ячейке таблицы список всех документов(в виде списка значений или массива) по текущей номенклатуре, и сумма СКД НЕТ!!!!
42 Mad88
 
06.12.17
11:03
(31) в смысле пургу? Конкретный вопрос, если можно можно то как, если нет то нет
43 3achem
 
06.12.17
11:09
(41) Так в чем вопрос то? Запросом получаешь все документы по номенклатуре, потом выгружаешь колонкус документами в массив в разрезе номенклатуры, в тз реквизиту указываешь список и массивом его заполняешь. Ты же сам всё написал
44 Mad88
 
06.12.17
11:12
(43) дак йопт, БЕЗ ДАЛЬНЕЙШЕЙ ОБРАБОТКИ РЕЗУЛЬТАТА ЗАПРОСА<---------что бы сам запрос вернул такой результат, в этом вопрос
45 igorPetrov
 
06.12.17
11:15
(44) Не ори. СКД отобрали? Или вера не позволяет?
46 Табуретко
 
06.12.17
11:17
(45) может он не знает как его запустить?
47 Mad88
 
06.12.17
11:18
(45) ахахахаа, я же написал, без скд, запрос->таблица значений-> макет, скд нет, сколько еще раз написать??? Вопрос в том может запрос, сам запрос, не дальнейшая его обработка, а вот анписла ты Запрос.Выполнить().Выгрзуить() и все там уже есть, и документы в список значений помещены, скд нет, забудь про него, оно не используется
48 3achem
 
06.12.17
11:18
(44) через запрос ты массив не получишь, можешь конечно через запятую перечислить, но это КАК БЫ ТАК СКАЗАТЬ бэд практис
49 Mad88
 
06.12.17
11:19
(48) А как через запятую перечислить?
50 igorPetrov
 
06.12.17
11:20
(47) Ну, ну не волнуйся, по буквам не попадаешь.
51 3achem
 
06.12.17
11:20
(49) не буду учить плохому
52 Табуретко
 
06.12.17
11:21
(49) Док1, Док2, Док3, Док4
пользуйся ))
53 1c_July
 
06.12.17
15:27
(47) не может