|
Что в запросе у меня не так? | ☑ | ||
---|---|---|---|---|
0
kyrgyz
24.06.12
✎
23:29
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.ДатаОтгрузки, | ЗаказПокупателя.Товары.Номенклатура КАК Номенклатура, | СУММА(ЗаказПокупателя.Товары.Количество) как Количество, | ЗаказПокупателя.СкладГруппа |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.СкладГруппа = &СкладПолучатель | |СГРУППИРОВАТЬ ПО | Номенклатура";// Вставить содержимое обработчика. Запрос.УстановитьПараметр("СкладПолучатель", СкладПолучатель); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Пока ВыборкаРезультата.Следующий() цикл НоваяСтрока = ЭтотОбъект.Товары.Добавить(); НоваяСтрока.Номенклатура = ВыборкаРезультата.Номенклатура; НоваяСтрока.Количество = ВыборкаРезультата.Количество; КонецЦикла; Пишет Документ.ПеремещениеТоваров.Форма.ФормаДокумента.Форма(2027)}: Ошибка при вызове метода контекста (Выполнить) ВыборкаРезультата = Запрос.Выполнить().Выбрать(); по причине: {(12, 2)}: Поле не найдено "Номенклатура" <<?>>Номенклатура |
|||
1
Пеппи
24.06.12
✎
23:30
|
ты вручную чтоли группировал? неправильная у тя группировка то.
|
|||
2
Пеппи
24.06.12
✎
23:31
|
сделай автоматом с помощью конструктора
|
|||
3
kyrgyz
24.06.12
✎
23:31
|
Конструкторм сделал потом кое что удалил
|
|||
4
Пеппи
24.06.12
✎
23:32
|
а зачем? О_о говорю же, неправильно сгруппировано
|
|||
5
PR
24.06.12
✎
23:32
|
(3) LOL
|
|||
6
PR
24.06.12
✎
23:33
|
Человек видимо перепутал СГРУППИРОВАТЬ и ИТОГИ
|
|||
7
kyrgyz
24.06.12
✎
23:34
|
Не смейтесь товарищи делаю в первый раз. Мало ли бывает.
|
|||
8
PR
24.06.12
✎
23:35
|
(7) Делаешь в первый раз — не шлифуй руками, доверься конструктору.
Да и вообще не стоит руками что-то править. |
|||
9
kyrgyz
24.06.12
✎
23:41
|
Сделала еще раз внемааательно. Ошибок нет. Это уже радостно.
Но блин не грузится док!? Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.ДатаОтгрузки, | ЗаказПокупателя.СкладГруппа, | ЗаказПокупателя.Товары.( | СУММА(Количество), | Номенклатура | ) |ИЗ | Документ.ЗаказПокупателя КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.СкладГруппа = &СкладПолучатель | И ЗаказПокупателя.ДатаОтгрузки = &дата | |СГРУППИРОВАТЬ ПО | ЗаказПокупателя.Товары.(Номенклатура)"; Запрос.УстановитьПараметр("дата", дата); Запрос.УстановитьПараметр("СкладПолучатель", СкладПолучатель); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // Вставить обработку выборки ВыборкаДетальныеЗаписи КонецЦикла; Пока ВыборкаДетальныеЗаписи.Следующий() цикл НоваяСтрока = ЭтотОбъект.Товары.Добавить(); НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; НоваяСтрока.Количество = ВыборкаДетальныеЗаписи.Количество; КонецЦикла; |
|||
10
kyrgyz
24.06.12
✎
23:44
|
По ходу понимаю что даты ведь не совпадают. В документе загрузки с временем дата а в исходном без времени.
Как это одолеть? |
|||
11
experimentator76
24.06.12
✎
23:44
|
(9) "Сделала" "Пол:Мужской"
о_О |
|||
12
kyrgyz
24.06.12
✎
23:47
|
(11) Да не русский я. Не обращай внимания тем более это у меня чисто механическая ошибка. Лучше делом помоги.
|
|||
13
kyrgyz
24.06.12
✎
23:48
|
(11) лучше был бы пол женский, помогли бы быстрее :)
|
|||
14
experimentator76
24.06.12
✎
23:50
|
(13) женский+фотка
|
|||
15
experimentator76
24.06.12
✎
23:50
|
(12) ни разу так не описывался
|
|||
16
kyrgyz
24.06.12
✎
23:51
|
Пишет:
{Документ.ПеремещениеТоваров.Форма.ФормаДокумента.Форма(2044)}: Поле объекта не обнаружено (Номенклатура) НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; |
|||
17
notebug
24.06.12
✎
23:53
|
один цикл прибей
|
|||
18
kyrgyz
24.06.12
✎
23:53
|
Уже прибил. Дошло до (16)
|
|||
19
kyrgyz
24.06.12
✎
23:55
|
Как из выборки запроса выбрать мне Номенклатуру то?
|
|||
20
notebug
24.06.12
✎
23:55
|
твоя номенклатура сидит в ТЧ и "ВыборкаДетальныеЗаписи.Номенклатура" само собой не обнаружено. такой запрос ай-ай...
|
|||
21
experimentator76
24.06.12
✎
23:57
|
запрос дурацкий
|
|||
22
notebug
24.06.12
✎
23:57
|
+(20) тебе нужно перебирать строки ТЧ, чтобы получить номенклатуру, а в данный момент ты получаешь поля выбранные (дата, склад) + коллекцию значений в виде таб части "Товары"
|
|||
23
kyrgyz
24.06.12
✎
23:58
|
(20) Умом я понимаю что ТЧ это отдельная таблица. Но запрос от клюшек ведь сломал мой мозг
|
|||
24
kyrgyz
24.06.12
✎
23:59
|
(22) Может в запросе бырать доки а потом без запроса по документам ходит по их табличной части?
|
|||
25
Пеппи
25.06.12
✎
00:00
|
(9) не найден документ просто. задача в чем, по запросу непонятно совершенно.
|
|||
26
experimentator76
25.06.12
✎
00:00
|
(24) ни в коме случае
|
|||
27
experimentator76
25.06.12
✎
00:00
|
(23) в данном случае надо делать вложенную выборку и выборки верхнего уровня по ТЧ
|
|||
28
kyrgyz
25.06.12
✎
00:01
|
(27) Есть док Перемещение в него надо грузануть данные из документа ЗаказыПокупателей отбор по складу и по дате.
|
|||
29
experimentator76
25.06.12
✎
00:01
|
либо использовать итоги в запросе
|
|||
30
experimentator76
25.06.12
✎
00:01
|
в конце концов почитай литературу по запросам
|
|||
31
Пеппи
25.06.12
✎
00:02
|
(28) параметры как заполняешь? но дата у тебя точно неправильно заполняется ;))
|
|||
32
experimentator76
25.06.12
✎
00:03
|
ладно девочки я спать))
|
|||
33
kyrgyz
25.06.12
✎
00:03
|
(30) Каюсь что недочитал. Вот надо же взять задачу и еще обещать завтра к утру сделать.
(31) Понимаю что дата нет так заполняется. Но как правильно не знаю. |
|||
34
Пеппи
25.06.12
✎
00:06
|
Дата задается в документах с точность до секунды, так понятно? Используй вместо равенства неравенство и все будет ок ;)
|
|||
35
kyrgyz
25.06.12
✎
00:11
|
(34) ДА понял я это еще как сделал запрос и глянул на даты дока и дату отгрузки дата отгрузки без времени а док с временем. А Правильно не знаю. Прочитать откуда тоже пока не могу найти.
|
|||
36
kyrgyz
25.06.12
✎
00:12
|
И как перебрать из тч не знаю.
|
|||
37
notebug
25.06.12
✎
00:12
|
(9) можно особо не заморачиваться, убрать из запроса агрегацию (СУММА) и группировку:
Если помимо табчасти нужны и другие поля для заполнения, тогда внутри цикла получаем следующее (правда цикл в цикле не гуд, но...решение тривиальное):
|
|||
38
Пеппи
25.06.12
✎
00:15
|
|ГДЕ
| ЗаказПокупателя.СкладГруппа = &СкладПолучатель | И ЗаказПокупателя.ДатаОтгрузки >= &НачалоПериода и ЗаказПокупателя.ДатаОтгрузки <= &КонецПериода"; |
|||
39
notebug
25.06.12
✎
00:16
|
(38) тогда уже МЕЖДУ
|
|||
40
Пеппи
25.06.12
✎
00:17
|
а лучше так
Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателя.Номенклатура, | ЗаказПокупателя.Количество |ИЗ | Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя |ГДЕ | ЗаказПокупателя.СкладГруппа = &СкладПолучатель | И ЗаказПокупателя.ДатаОтгрузки >= &НачалоПериода и ЗаказПокупателя.ДатаОтгрузки <= &КонецПериода"; |
|||
41
Пеппи
25.06.12
✎
00:18
|
(39) ну это в конструкторе можно сделать а я руками пишу
|
|||
42
kyrgyz
25.06.12
✎
00:18
|
(37) О! Снекс Выручил. Ведь видел же когда читал книжку что-то подобное. Видимо надо не только читать еще руки набивать.
(38) И осталось мне определить Начала периода и конец периода с помощью даты документа так? |
|||
43
Пеппи
25.06.12
✎
00:21
|
(42) понятия не имею что у тебя с датами, если за один день тогда так
НачалоПериода=НачалоДня(Период) КонецПериода=КонецДня(Период) где Период задан на форме документа |
|||
44
notebug
25.06.12
✎
00:21
|
(41) можно и вне конструктора руками набрать МЕЖДУ ;)
(42) не привыкай к таким решениям =) и максимально все делать стоит в запросе, а дальше уже использовать полученный результат (ну "до утра" думаю сойдет, хех) |
|||
45
Пеппи
25.06.12
✎
00:21
|
(44) зануда ))
|
|||
46
kyrgyz
25.06.12
✎
00:23
|
(43) Как раз то что надо. Снекс.
И это мне еще в параметр засунуть? |
|||
47
Пеппи
25.06.12
✎
00:26
|
(46) ясен пень ))
|
|||
48
kyrgyz
25.06.12
✎
00:32
|
Спасибо ребяты! Век не забуду! С почином меня...
Получилось. Но блин что-туго воспринимаю.Как всегда лиха беда начала... |
|||
49
kyrgyz
25.06.12
✎
07:00
|
Зря мы убрали группировки. В док одноименные товары попадают по нескольку раз.
Хотелось бы свернутые данные. |
|||
50
Пеппи
25.06.12
✎
07:31
|
добавь группировку, не вижу проблем. Ты какой запрос использовал?
|
|||
51
notebug
25.06.12
✎
08:44
|
а свертку мы зачем делали внутри первого цикла? не уж-то не свернулось?!
|
|||
52
experimentator76
25.06.12
✎
08:50
|
(51) у него там еще и поименные дубли))
|
|||
53
kyrgyz
25.06.12
✎
10:13
|
Помогли переделал все и ок.
НачалоПериода=НачалоДня(Дата); КонецПериода=КонецДня(Дата); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказПокупателяТовары.Номенклатура, | СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, | ЗаказПокупателяТовары.ЕдиницаИзмерения, | ЗаказПокупателяТовары.Коэффициент, | ЗаказПокупателяТовары.Цена |ИЗ | Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары |ГДЕ | ЗаказПокупателяТовары.Ссылка.ДатаОтгрузки МЕЖДУ &НачалоПериода И &КонецПериода | И ЗаказПокупателяТовары.Ссылка.СкладГруппа = &СкладПолучатель | И ЗаказПокупателяТовары.Ссылка.Проведен | |СГРУППИРОВАТЬ ПО | ЗаказПокупателяТовары.Номенклатура, | ЗаказПокупателяТовары.ЕдиницаИзмерения, | ЗаказПокупателяТовары.Коэффициент, | ЗаказПокупателяТовары.Цена"; Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); Запрос.УстановитьПараметр("КонецПериода", КонецПериода); Запрос.УстановитьПараметр("СкладПолучатель", СкладПолучатель); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НоваяСтрока = ЭтотОбъект.Товары.Добавить(); НоваяСтрока.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; НоваяСтрока.Количество = ВыборкаДетальныеЗаписи.Количество; НоваяСтрока.ЕдиницаИзмерения = ВыборкаДетальныеЗаписи.ЕдиницаИзмерения; НоваяСтрока.Коэффициент = ВыборкаДетальныеЗаписи.Коэффициент; НоваяСтрока.Цена = ВыборкаДетальныеЗаписи.Цена; ОбработкаТабличныхЧастей.ПриИзмененииНоменклатурыТабЧасти(НоваяСтрока, ЭтотОбъект); ЗаполнитьСчетаУчетаВСтрокеТабЧастиРегл(НоваяСтрока, "Товары", Истина); НоваяСтрока.Качество = Справочники.Качество.Новый; КонецЦикла; |
|||
54
notebug
25.06.12
✎
10:17
|
(52) подразумеваю просто, что здесь был выложен сначала изначальный код запроса, под него подстроились, потом он был модифицирован, а код перебора остался прежним...
(53) финишед хим? :) |
|||
55
kyrgyz
25.06.12
✎
10:27
|
(54) НУ да все срослось.
Не подумал что ТЧ можно как отдельную таблице расматривать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |