|
v7: Черный запрос по регистру. Выбрать Товар и соотв. Документы | ☑ | ||
---|---|---|---|---|
0
aka AMIGO
22.09.11
✎
09:27
|
Задача осложнилась тем, что в одном документе может быть несколько строк с одним и тем-же товаром. Не знаю, откуда эта традиция есть пошла, но разгребать это надо мне..
Работа проблемной части Запроса немудрящая: Выбирает по группировке один Товар и соответствующий ему один(!) документ.. остальные строки документа как-бы не видит, хотя в движениях они есть, это проверено. ТекстЗапроса = "//{{ЗАПРОС(ПоПриходу) |Период с Дата1 по Дата2; |Товар = Регистр.ОстаткиТоваров.Товар; |Док = Регистр.ОстаткиТоваров.ТекущийДокумент; |Сум = Регистр.ОстаткиТоваров.ВалютнаяСтоимость; |Кол = Регистр.ОстаткиТоваров.ОстатокТовара; |Функция СумПриход = Приход(Сум); |Группировка Товар Без Групп; |Группировка Док; |"//}}ЗАПРОС ; //... Пока Запрос.Группировка("Товар")=1 Цикл //... Пока Запрос.Группировка("Док")=1 Цикл //... ... Хотелось-бы узнать, есть-ли способ выбрать все строки одного документа с этим товаром? ЗЫ. могу привести скрины отчетов с выборкой движений регистра: ущербного и полного (другого) |
|||
1
Рэйв
22.09.11
✎
09:29
|
он тебе их сворачивает.
Сделай так Пока Запрос.Группировка("Док")=1 Цикл //... Пока Запрос.Группировка("Товар")=1 Цикл |
|||
2
IamAlexy
22.09.11
✎
09:29
|
фу как неполиткорректно.. черный запрос..
|
|||
3
Рэйв
22.09.11
✎
09:30
|
хотя и в этом случае свернет:=) Это надо номер строки присобачивать
|
|||
4
Темный Эльф
22.09.11
✎
09:32
|
(0)Есть предопределенная группировка СтрокаДокумента. Но у тебя запрос к регистру - ПривязыватьСтроку есть в модуле?
|
|||
5
aka AMIGO
22.09.11
✎
09:35
|
(1) логично.. попробую. Только не сворачивает ОНО, зараза.. одну строку из документа выводит, а там их 4 штуки..
(2) "Темный" запрос - так пойдет? :) (3), (4) знаю про строку.. не запоминаются строки, шеф пока против, я предлагал, но он говорит, и так БД огромная, и ворочается медленно.. |
|||
6
Ёпрст
22.09.11
✎
09:36
|
(0) чего курим ?
Какие нах строки документа при просмотре движений регистра ? |
|||
7
Ёпрст
22.09.11
✎
09:36
|
+6 в регистр могут записать что угодно и как угодно.
|
|||
8
aka AMIGO
22.09.11
✎
09:37
|
(6) - читай посты (3) и (4)
(7) и это я знаю. но надо иметь дело с тем, что уже написано. |
|||
9
Ёпрст
22.09.11
✎
09:40
|
(8) и чего там читать ?
:))))))))))))))))))))))))))))))))) |
|||
10
G-Re
22.09.11
✎
09:42
|
Мне так кажется, что если в регистре этих данных нет, а привязывать строку НИЗЗЯ, то при обработке запроса придется сканировать строки текущего документа на наличие в них товара.
Это долго и некошерно, лучше привязывать строки при формировании движений регистра. |
|||
11
Mikeware
22.09.11
✎
09:44
|
А сделать "белый запрос" - религия не позволяет?
И быстрее, и возможностей побольше |
|||
12
aka AMIGO
22.09.11
✎
09:46
|
(10) в том-то и дело, что в регистре эти данные есть.. Запрос их не выбирает
Вот скрин, два участка отчета, в первом - по запросу, во втором - простая выборка из движений регистра http://s014.radikal.ru/i328/1109/78/a66dfc81d2cf.jpg (11) видимо, переделаю на элементарную выборку движений.. |
|||
13
Ёпрст
22.09.11
✎
09:51
|
(12) открой движения этого регистра в журнале документов.
НомерСтроки не пустой в регистре ? Если пустой, то ничего не сделаешь. |
|||
14
aka AMIGO
22.09.11
✎
09:52
|
а здесь - ТЧ документа.
наглядно о причине разных строк: разные ГТД товара http://i073.radikal.ru/1109/fb/702514b6c865.jpg |
|||
15
aka AMIGO
22.09.11
✎
09:53
|
(13) движения есть, и видны, как полагается..всё 1с-ина сделала правильно..
дело в запросе.. ладушки, мужики, спасибо за внимание, побежал переделывать код.. |
|||
16
xXeNoNx
22.09.11
✎
09:54
|
Главное дать выговорится)))
|
|||
17
aka AMIGO
22.09.11
✎
09:55
|
(13) номера строки нет, в модулях документа не предусмотрено..
(16) это - завтра :) |
|||
18
G-Re
22.09.11
✎
09:58
|
(12) Если тебе нужно Итого, то есть в ответе одна строка с товаром, попробуй вставить Функция =НачОст(Сум). А если нужно с точностью до движений, попробуй +... Группировка Сум.
|
|||
19
aka AMIGO
22.09.11
✎
10:02
|
(18) сейчас попробую с функцией.. может и прокатить..
|
|||
20
aka AMIGO
22.09.11
✎
10:04
|
(18) нет, не собирает..
|
|||
21
G-Re
22.09.11
✎
10:18
|
(20) Совсем плохо, тогда без запроса придется...
|
|||
22
G-Re
22.09.11
✎
10:34
|
(20) Попробуй поиграться с этим, указывая разные варианты.
http://webfile.ru/5559983 |
|||
23
1Сергей
22.09.11
✎
10:38
|
я извиняюсь, а количество ты из запроса Как вытягиваешь? типа, Запрос.Кол? так не пойдёт. Надо функцию
|
|||
24
aka AMIGO
22.09.11
✎
10:49
|
(22) пароля нет :)
(23) да, это моя промашка.. |
|||
25
G-Re
22.09.11
✎
10:52
|
(24) А я что, его запаролил на открытие?
Ну сними, или просто sabaka, наверное. |
|||
26
aka AMIGO
22.09.11
✎
11:00
|
(23) с функцией увы, та-же картина.. :((
(25) спасибо, знакомлюсь.. |
|||
27
Ёпрст
22.09.11
✎
11:05
|
select
$Рег.ВалютнаяСтоимость Сумма ,$Рег.Товар [Товар $Справочник.Товары] From $Регистр.ОстаткиТоваров Рег (nolock) Where рег.date_time_iddoc between :НачДата and :КонДата~ делов то.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |