|
Условие в запросе | ☑ | ||
---|---|---|---|---|
0
ogion83
28.03.13
✎
15:58
|
Я перебираю в цикле строки табличной части документа. В ТЧ есть реквизит "Материал". Нужно в запросе (обращаюсь к регистру накопления) получить данные по этому реквизиту. Помогите, пожалуйста, новичку самоучке.
|
|||
1
shuhard
28.03.13
✎
15:59
|
(0)[Я перебираю в цикле строки табличной части документа]
что мешает сделать это в запросе ? |
|||
2
Джинн
28.03.13
✎
15:59
|
(0) > Я перебираю в цикле строки табличной части документа.
За это уже можно оторвать руки и дальше не идти. |
|||
3
ogion83
28.03.13
✎
16:00
|
Если есть способы лучше: прошу...
|
|||
4
ogion83
28.03.13
✎
16:02
|
Я хорошо знаю 1С7, в 8-ке первые шаги. (Так что обойдёмся без "За это уже можно оторвать руки и дальше не идти")
|
|||
5
Spieluhr
28.03.13
✎
16:04
|
(0) Запрос в цикле - это плохо. Нужно в запросе соединять таб. часть с таблицей регистра
|
|||
6
ogion83
28.03.13
✎
16:05
|
Буду признателен за коротенький примерчик
|
|||
7
Джинн
28.03.13
✎
16:06
|
(4) Это не оправдание. Смотрите типовые. Которые попроще.
|
|||
8
samozvanec
28.03.13
✎
16:06
|
(4) запрос по ТЧ, левое соединение с твоим регистром, потом по выборке цикл
|
|||
9
ogion83
28.03.13
✎
16:08
|
(8) Попробую
|
|||
10
ogion83
28.03.13
✎
16:27
|
(8) Благодарю за науку, получилось.
|
|||
11
zladenuw
28.03.13
✎
16:30
|
(10) лучше всю тч в запрос и сразу запрос к регистру накопление. между будет вызовов к серверу от клиента
|
|||
12
zladenuw
28.03.13
✎
16:30
|
(11) будет меньше вызовов к серверу от клиента
|
|||
13
ogion83
28.03.13
✎
16:36
|
"ВЫБРАТЬ
|ПередачаМатериаловВПроизводствоТабличнаяЧасть.Ссылка, |ПередачаМатериаловВПроизводствоТабличнаяЧасть.НомерСтроки, |ПередачаМатериаловВПроизводствоТабличнаяЧасть.Материал, |ПередачаМатериаловВПроизводствоТабличнаяЧасть.Количество, | РегМатериалы.МПЗ, | РегМатериалы.Количество, | РегМатериалы.Сумма |ИЗ |Документ.ПередачаМатериаловВПроизводство.ТабличнаяЧасть КАК ПередачаМатериаловВПроизводствоТабличнаяЧасть |Левое соединение | РегистрНакопления.Материалы Как РегМатериалы |По | ПередачаМатериаловВПроизводствоТабличнаяЧасть.Материал = РегМатериалы.МПЗ"; Как можно улучшить? |
|||
14
GANR
28.03.13
✎
16:56
|
(13) Что за данные по материалу нужны???
|
|||
15
ogion83
28.03.13
✎
16:58
|
Количество и сумма. Всё что нужно получаю. Всё работает. Тут (11) советуют как то улучшить, но не понял как.
|
|||
16
GANR
28.03.13
✎
16:59
|
(15) Остатки или обороты?
|
|||
17
GANR
28.03.13
✎
17:00
|
ВЫБРАТЬ
ДокТЧ.Материал КАК Материал, СУММА(ДокТЧ.Количество) КАК Количество ПОМЕСТИТЬ ДокТЧ ИЗ Документ.ПередачаМатериаловВПроизводство.ТабличнаяЧасть КАК ДокТЧ ГДЕ ДокТЧ.Ссылка = &Ссылка ; ВЫБРАТЬ ДокТЧ.Материал КАК Материал, ДокТЧ.Количество КАК Количество, ISNULL(ОстаткиМатериалов.КоличествоОстаток, 0) КАК КоличествоОстаток, ISNULL(ОстаткиМатериалов.СуммаОстаток, 0) КАК СуммаОстаток ИЗ ДокТЧ КАК ДокТЧ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Материалы.Остатки(&МоментВремени, ) КАК ОстаткиМатериалов ПО ДокТЧ.Материал = ОстаткиМатериалов.МПЗ |
|||
18
GANR
28.03.13
✎
17:05
|
(15) Да, всё работает... Пока в регистре 1 строчка.
|
|||
19
GANR
28.03.13
✎
17:20
|
(15) Добавь хотя-бы
1. ещё 1 документ с таким-же материалом 2. ещё 1 запись в регистр с таким-же материалом 3. ещё 1 строчку в этот-же документ с таким-же материалом ну как? работает??? |
|||
20
ogion83
29.03.13
✎
08:27
|
Остатки
|
|||
21
GANR
29.03.13
✎
08:44
|
(20) Тогда тебе 100% нужно что-то вроде (17), но никак не (13).
|
|||
22
ogion83
29.03.13
✎
09:26
|
Как сделать чтобы тут &МоментВремени была дата документа в котором используется запрос???
|
|||
23
ogion83
29.03.13
✎
09:30
|
ISNULL в синтаксис-помощнике вообще есть?
|
|||
24
salvator
29.03.13
✎
09:31
|
(23) ISNULL = ЕСТЬNULL
(22) Установить параметр, к примеру. |
|||
25
ogion83
29.03.13
✎
09:36
|
Как в семерке указать ДатаДок не прокатит значит? Уж такие то моменты могли бы и оставить.
|
|||
26
salvator
29.03.13
✎
09:43
|
(25) Голова на что? Одну строчку написать трудно?
|
|||
27
GANR
29.03.13
✎
09:45
|
(22) Короче... Радченко прорешай.
|
|||
28
ogion83
29.03.13
✎
09:46
|
Вот:
Запрос.Текст = "ВЫБРАТЬ |ПередачаМатериаловВПроизводствоТабличнаяЧасть.Ссылка, |ПередачаМатериаловВПроизводствоТабличнаяЧасть.НомерСтроки, |ПередачаМатериаловВПроизводствоТабличнаяЧасть.Материал, |ПередачаМатериаловВПроизводствоТабличнаяЧасть.Количество, | РегМатериалы.МПЗ, | ISNULL(РегМатериалы.КоличествоОстаток, 0) Как КоличВРегистре, | ISNULL(РегМатериалы.СуммаОстаток, 0) Как СуммаВРегистре |ИЗ |Документ.ПередачаМатериаловВПроизводство.ТабличнаяЧасть КАК ПередачаМатериаловВПроизводствоТабличнаяЧасть |Левое соединение | РегистрНакопления.Материалы.Остатки(&НаДату, ) Как РегМатериалы |По |ПередачаМатериаловВПроизводствоТабличнаяЧасть.Материал = РегМатериалы.МПЗ"; Семёрку самостоятельно было легче изучать... |
|||
29
GANR
29.03.13
✎
09:48
|
(28) >Семёрку самостоятельно было легче изучать...
Неужто??? Неужели в 7.7 удобный язык запросов? |
|||
30
ogion83
29.03.13
✎
09:48
|
Про Редченко уточните, а то в поисковике всё не то выдаёт.
|
|||
31
ogion83
29.03.13
✎
09:49
|
По мне дак: вполне удобно. Проблем не возникало.
|
|||
32
GANR
29.03.13
✎
09:53
|
(30) http://snipurl.com/26ptj4o самое свежее.
|
|||
33
GANR
29.03.13
✎
10:01
|
(28) Где фильтр по текущему документу? А если в документе 2 строки с одинаковым реквизитом Материал?
|
|||
34
GANR
29.03.13
✎
10:04
|
(31) Удивлен, потому что помню, как всех тошнило от 7.7, когда был стажером. Того гляди, все съеденное на клавиатуре окажется.
|
|||
35
ogion83
29.03.13
✎
10:26
|
За ссылку благодарствую. Как фильтр поставить?
|
|||
36
lapinio
29.03.13
✎
10:30
|
Проще в регистре в параметрах номенклатура сделать подзапрос к ТЧ без всяких соединений.
|
|||
37
lapinio
29.03.13
✎
10:33
|
Пример
ВЫБРАТЬ ПартииНоменклатурыОстатки.Номенклатура, ПартииНоменклатурыОстатки.КоличествоОстаток ИЗ РегистрНакопления.ПартииНоменклатуры.Остатки( , Номенклатура В (ВЫБРАТЬ ПриходнаяНакладнаяТабличнаяЧасть.Номенклатура ИЗ Документ.ПриходнаяНакладная.ТабличнаяЧасть КАК ПриходнаяНакладнаяТабличнаяЧасть ГДЕ ПриходнаяНакладнаяТабличнаяЧасть.Ссылка = &Ссылка)) КАК ПартииНоменклатурыОстатки |
|||
38
ogion83
29.03.13
✎
10:39
|
Опробую где-нибудь и этот вариант.
|
|||
39
ogion83
29.03.13
✎
10:44
|
Два одинаковых материала в ТЧ мне не навредят. Проверил, всё пучком.
|
|||
40
GANR
29.03.13
✎
10:48
|
(37) А нулевые остатки?
|
|||
41
GANR
29.03.13
✎
10:48
|
+(40) они не попадут в эту выборку
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |