Имя: Пароль:
1C
1С v8
Запросом или по другому сделать:
, ,
0 666 Devil
 
31.03.13
16:38
Есть у дока Таличная часть: Номенклатура, количество, Документ(ссылка). нужно получить таблицу вида:

Номенклатура, количествоИзДокумент1,...КоличествоИзДокумент n.

пытаюсь запросом, не получается как потом прописать объединения для всех документов 1-n, может неверным путем иду, направте в нужную сторону
1 GANR
 
31.03.13
17:00
Вероятно, делаешь запрос к шапке документа,

выбрать * из документ.реализация

а нужно

выбрать доктч.ссылка, доктч.номенклатура, Сумма(доктч.количество) из
документ.реализация.товары как доктч
сгруппировать по
доктч.ссылка, доктч.номенклатура
2 NcSteel
 
31.03.13
17:02
(0) Если возникает вопрос:

"Запросом или по другому сделать?", то можно не читая отвечать -Запросом!
3 666 Devil
 
31.03.13
17:11
(1) нет, к табличной части.
(2) да, запросом, но как?
4 Чешик
 
31.03.13
17:12
Тут по монетизации темка... За 500 рублев напишу нужный запрос)
5 NcSteel
 
31.03.13
17:14
За 1000 руб, но качественно.
6 GANR
 
31.03.13
17:15
(4) хватит мне тут конкурировать - сегмент форума по запросам я контролирую )))
7 GANR
 
31.03.13
17:20
(0) Аааа... Нужно что-то вроде http://msdn.microsoft.com/ru-ru/library/ms177410(v=sql.105).aspx ну в 1С
это делается посредством ВЫБОР. Не раз писал подобное лично. Идея понятна?
8 GANR
 
31.03.13
17:28
+(7) Ну ещё и это придется припахивать Книга знаний: v8: Нумерация строк в запросе. Говорю сразу: если нумеруемых данных больше 400 - лучше в коде сделать, запрос будет медленный.
9 GANR
 
31.03.13
17:29
+(8) только нумеровать там надо не Номенклатуру, а Ссылку на документ
10 666 Devil
 
31.03.13
17:29
(4),(5) монетизация конечно хорошо, но я не прошу за меня сделать, только направить как можно это сделать.

(7) да, такое, и сделать можно посредсвом  Выбрать, но количество Документов может быть много. в текст запроса придется писать в несколько мест циклом "ВЫБРАТЬ"
11 Чешик
 
31.03.13
17:30
блин. 10 к рублев - и обновлю конфигурацию с этим запросом и объясню почему такой запрос и зачем.
12 GANR
 
31.03.13
17:30
(10) Ну, если уж ОЧЕНЬ много, то лучше СКД задействовать (её легко склепать программно).
13 Чешик
 
31.03.13
17:32
(10) - да это стеб. Хотя вот ты ответь. Ща тебя в любом варианте гумном польют. Скажут что олень. На 100+ посте кто то в конце концов напишет и скажет "как зачем и почему" - ну, я уже больше времени на "написание постов здесь" истратил чем если бы просто написал правильный запрос.
14 GANR
 
31.03.13
17:32
статический (не клепаемый кодом) запрос прокатит только если количество колонок ограничено
15 EugeniaK
 
31.03.13
17:32
(0) А количество докуметов в ТЧ вообще фиксированно?
Только через "ВЫБОР" и нужно заранее знать, сколько максимум строк в документе.
Только ты точно уверен, что именно в таком виде результат нужен? Зачем? Просто его же потом обрабатывать сложнее, чем просто перечень со строками.
16 Чешик
 
31.03.13
17:33
соответственно вопрос - что лучше, если тебя пнут под жпо чтобы ты был мотивирован на "надо учить язык запросов" и помогут. Или просто ты выложишь 500 рублев и закроешь вопрос. Что для тебя выгоднее?
17 GANR
 
31.03.13
17:34
Или ИТОГИ - хороший вариант.
18 EugeniaK
 
31.03.13
17:37
Как-то так
ВЫБРАТЬ Номенклатура,
ВЫБОР КОГДА НомерСтроки=1 ТОГДА Количество ИНАЧЕ 0 КОНЕЦ КАК количествоИзДокумент1,
ВЫБОР КОГДА НомерСтроки=2 ТОГДА Количество ИНАЧЕ 0 КОНЕЦ КАК количествоИзДокумент2,
......
ВЫБОР КОГДА НомерСтроки=N ТОГДА Количество ИНАЧЕ 0 КОНЕЦ КАК количествоИзДокументN
ИЗ ДокументТабличнаяЧасть
19 666 Devil
 
31.03.13
17:38
(12) не Очень много, но не известно сколько , пока 1 - 15. вот с СКД програмно мне пока трудно :( .
(13) не понял на что ответить, я пытаюсь сам написать , но не получается, если заметили очень мало у меня тем, обычно нахожу или догадываюсь сам как сделать.
(15) нет не фиксированно, но знаем сколько :)
20 666 Devil
 
31.03.13
17:39
(16) только пнуть, я всегда сам учусь (но прошу учесть что  мне не жалько 500р)
21 GANR
 
31.03.13
17:40
ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ДокСсылка", "ВСЕ");
22 Чешик
 
31.03.13
17:40
ну тебя попинают еще и ответят))))В конце концов))) Вопрос простой, кто нить да напишет))))
23 666 Devil
 
31.03.13
17:42
)))))  @Чешик
24 EugeniaK
 
31.03.13
17:44
(20) Как сделать, написала в (18). Ну и сгруппировать само сабой.
Только по-моему ты изначально к задаче неправтльно подошел.
Напиши, зачем результат в таком виде?
25 GANR
 
31.03.13
17:49
(24) Результат прост группировка строк - Номенклатура, группировка колонок - ДокСсылка, ну, а ресурс - сумма по реквизиту Количество. Не прибегая к СКД это будет как-то так. Запросом я бы не стал это делать - непроизводительно запросом 1С это будет.

Запрос = Новый Запрос;
Запрос.Текст =
"выбрать
|доктч.ссылка,
|доктч.номенклатура,
|доктч.количество
|из
|документ.реализация.товары как доктч
|итоги
|СУММА(Количество)
|по
|доктч.номенклатура,
|доктч.ссылка";

Результат = Запрос.Выполнить();
ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");

Пока ВыборкаНоменклатура.Следующий() Цикл
  ВыборкаДокСсылка = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ДокСсылка", "ВСЕ");
  Пока ВыборкаДокСсылка.Следующий() Цикл
     ...
  КонецЦикла
КонецЦикла
26 666 Devil
 
31.03.13
17:54
(25) да, придется так и делать

(24) На форме БольшогоДока(так его назовем) нужно видеть количество по каждому Маленькому Доку в общей таблице
27 Мимохожий Однако
 
31.03.13
17:57
(10)Напиши функцию формирования запроса по нескольким видам документов. Пример, есть в БСП.
28 Мимохожий Однако
 
31.03.13
17:58
+(27)...формирования текста запроса...
29 666 Devil
 
31.03.13
18:01
(27) можно поточнее какаяя там функция
30 EugeniaK
 
31.03.13
18:02
(26) Так все равно ж потом циклом идти по всем колонкам результитрующей таблицы и значения выводить на форму.
Правильнее циклом по выборке (25)
31 666 Devil
 
31.03.13
18:05
+(0) (30) вообще есть в зупе, когда отчет по форме 13 (табель) формируется там в зависимости от периода на дни выкладка, но сейчас посмотреть его не могу :(
32 GANR
 
31.03.13
18:06
33 666 Devil
 
31.03.13
18:33
Спасибо всем, оптимально для моей ситуации (25)
34 Чешик
 
31.03.13
18:41
Ну вот ебта!!!!!!! Испортили всё. Надо было еще 100 постов написать до ответа.
35 Чешик
 
31.03.13
18:41
с обоснованием что аф_фтор олень, почему он олень, с предположениями по ДНК и всё такое.
36 666 Devil
 
31.03.13
19:08
(35) ну давай, обоснуй )))