|
Не могу разобраться с получение остатков | ☑ | ||
---|---|---|---|---|
0
never_be
16.06.14
✎
17:46
|
Есть такой запрос
Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | уатПартииТоваровНаСкладахОстатки.Номенклатура, | уатПартииТоваровНаСкладахОстатки.Склад, | уатПартииТоваровНаСкладахОстатки.Партия КАК Партия, | уатПартииТоваровНаСкладахОстатки.КоличествоОстаток, | уатПартииТоваровНаСкладахОстатки.СтоимостьОстаток |ИЗ | РегистрНакопления.уатПартииТоваровНаСкладах.Остатки(&Период, Номенклатура = &Номенклатура) КАК уатПартииТоваровНаСкладахОстатки |ГДЕ | уатПартииТоваровНаСкладахОстатки.Склад <> &Склад | |УПОРЯДОЧИТЬ ПО | Партия"; Запрос.УстановитьПараметр("Период",Дата); Запрос.УстановитьПараметр("Номенклатура",тек.Номенклатура); Запрос.УстановитьПараметр("Склад",СкладПолучатель); Например строю на сегодня по номенклатуре "Кукла", так вот по отчетам на сегодня у меня есть их 5 штук, но в гребаном запрос вылазит 3 документа 1. Количество остаток - 2 2. Количество остаток - 2 (это уже списано) 3. Количество остаток - 5 (это реальная цифра) Что за первые 2 записи ? особенно та которая без указания партии, как получать только реальные остатки с указанием партии ? |
|||
1
never_be
16.06.14
✎
17:47
|
сори вот так
1. Количество остаток -2 2. Количество остаток +2 (это уже списано) 3. Количество остаток +5 (это реальная цифра) |
|||
2
pavelul73
16.06.14
✎
17:53
|
Напиши СУММА(уатПартииТоваровНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток
|
|||
3
censored
16.06.14
✎
17:59
|
(0) как же это ты решил что первые 2 записи закрываются в 0 если среди них есть "особенно та которая без указания партии"
Приведи результат запроса полностью (все выбираемые поля, а не только количество) и еще... уатПартииТоваровНаСкладахОстатки.Склад <> &Склад нужно бы вынести в параметры виртуальной таблицы |
|||
4
never_be
16.06.14
✎
18:04
|
Вот так ?
Запрос.Текст = "ВЫБРАТЬ | уатПартииТоваровНаСкладахОстатки.Номенклатура, | уатПартииТоваровНаСкладахОстатки.Склад, | уатПартииТоваровНаСкладахОстатки.Партия КАК Партия, | СУММА(уатПартииТоваровНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток, | уатПартииТоваровНаСкладахОстатки.СтоимостьОстаток |ИЗ | РегистрНакопления.уатПартииТоваровНаСкладах.Остатки(&Период, Номенклатура = &Номенклатура) КАК уатПартииТоваровНаСкладахОстатки |ГДЕ | уатПартииТоваровНаСкладахОстатки.Склад <> &Склад | |УПОРЯДОЧИТЬ ПО | Партия"; получаю ошибку {(2, 2)}: Поле не входит в группу "уатПартииТоваровНаСкладахОстатки.Номенклатура" <<?>>уатПартииТоваровНаСкладахОстатки.Номенклатура, |
|||
5
Волшебник недоучка
16.06.14
✎
18:06
|
(&Период, Номенклатура = &Номенклатура И Склад = &Склад) - тоже поправь, а условие ГДЕ убери.
|
|||
6
never_be
16.06.14
✎
18:08
|
(3) Выше запрос полностью, у меня остатки на сегодня 5 штук, но в запросе вылазит еще 2 которые были раньше списаны, если все сложить получится 5 но как мне такой результат парсить О_о
|
|||
7
rendez-vous
16.06.14
✎
18:08
|
(4) Не надо "сумма". Просто убери поле склад, если он тебе не нужен.
|
|||
8
acsent
16.06.14
✎
18:08
|
пересорт по партиям
|
|||
9
DS
16.06.14
✎
18:09
|
Это называется отсутствие контроля отрицательных остатков.
|
|||
10
rendez-vous
16.06.14
✎
18:10
|
(7) и поле партия
|
|||
11
never_be
16.06.14
✎
18:13
|
(7) Склад нужен
(10) Убрал |
|||
12
never_be
16.06.14
✎
18:15
|
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ | уатПартииТоваровНаСкладахОстатки.Номенклатура, | уатПартииТоваровНаСкладахОстатки.Склад, | уатПартииТоваровНаСкладахОстатки.КоличествоОстаток, | уатПартииТоваровНаСкладахОстатки.СтоимостьОстаток |ИЗ | РегистрНакопления.уатПартииТоваровНаСкладах.Остатки(&Период, Номенклатура = &Номенклатура И Склад <> &Склад) КАК уатПартииТоваровНаСкладахОстатки |УПОРЯДОЧИТЬ ПО | Партия"; Запрос.УстановитьПараметр("Период",Дата); Запрос.УстановитьПараметр("Номенклатура",тек.Номенклатура); Запрос.УстановитьПараметр("Склад",СкладПолучатель); Тоже самое, в результате 3 записи, партия там где 2 давно уже списана. -2 2 5 |
|||
13
rendez-vous
16.06.14
✎
18:15
|
(11) Теперь порядок?
|
|||
14
never_be
16.06.14
✎
18:15
|
(13) неа (12)
|
|||
15
rendez-vous
16.06.14
✎
18:16
|
(14) Это означает, что партия 2 шт. была принята на один склад, а списана с другого. Тебе все еще нужен склад?
|
|||
16
never_be
16.06.14
✎
18:17
|
Например до вчера у меня был 1 приход на 2 штуки, вчера вечером их списали, утром оприходовали 5 штук, вот я и хочу получить в итоге только партию на 5 штук, а мне вылазит - 2 +2 +5 в результате
|
|||
17
Segate
16.06.14
✎
18:17
|
(12) В консоли запросов, вкладка группировка, добавь СУММА(уатПартииТоваровНаСкладахОстатки.КоличествоОстаток)
|
|||
18
never_be
16.06.14
✎
18:19
|
(17) {(2, 2)}: Поле не входит в группу "уатПартииТоваровНаСкладахОстатки.Партия"
<<?>>уатПартииТоваровНаСкладахОстатки.Партия, |
|||
19
DS
16.06.14
✎
18:19
|
>> вчера вечером их списали
Должны были их списать, а списали другое. |
|||
20
DS
16.06.14
✎
18:20
|
Если партия не нужна - убери и сгруппируй.
|
|||
21
rendez-vous
16.06.14
✎
18:21
|
(18) У -2 и +2 склад один и тот же?
|
|||
22
never_be
16.06.14
✎
18:21
|
(21) да, а +5 другой
|
|||
23
Segate
16.06.14
✎
18:22
|
(18)Я думаю, что ты это делаешь не в конструкторе запросов, так ведь? ) А просто пытаешься вручную дописать.
Вот если бы ты сделал как тебе говорят, увидел бы, что все остальное автоматом бы попало в "Сгруппировать по" |
|||
24
never_be
16.06.14
✎
18:22
|
(21) Я хочу получить остатки со всех складов и списать то что оприходовали раньше всего.
|
|||
25
never_be
16.06.14
✎
18:22
|
(23) ошибку выдает конструктор
|
|||
26
rendez-vous
16.06.14
✎
18:23
|
(22) Понятно. Разделение итогов, значит, поставили.
Тогда группируй. Для количества и стоимости пиши СУММА Остальные поля включай в список группировок СГРУППИРОВАТЬ ПО. |
|||
27
DS
16.06.14
✎
18:24
|
(24) "списать то что оприходовали раньше всего" подразумевает получение партии. При подобной системе учета сделать это не реально.
|
|||
28
Segate
16.06.14
✎
18:24
|
(25)ты прям руками нигде СУММА не прописываешь, а только жмешь на кнопочку">" и все равно ошибка? Не ВЕРЮ!(с)
|
|||
29
never_be
16.06.14
✎
18:26
|
(26) (28) вот - http://i.piccy.info/i9/682e02532bf7304d462bccc75bd93aab/1402928740/98320/585023/2014_06_16_05_25_34_pm.jpg поля партия нет, а оно меня шлет лесом
|
|||
30
Enders
16.06.14
✎
18:27
|
(0) судя из обсуждений в топике, фиг ты получишь актуальные партионные остатки(остатки с указанием партии) без правильного партионного учета.
А судя по -2,+2 он у тебя кривой. |
|||
31
Segate
16.06.14
✎
18:28
|
(29) че ты нам рассказываешь, а упорядочиваешь ты по чему? Не по партии ли? )
|
|||
32
rendez-vous
16.06.14
✎
18:29
|
(29) Потому и шлет, что нет. Поле партия либо должно быть на той странице, что ты нам привел, либо его не должно быть нигде. И в УПОРЯДОЧИТЬ тоже.
|
|||
33
Enders
16.06.14
✎
18:30
|
+ к (30) Если уж пришли к тому, что партия не нужна, так может в сторону РН "ТоварыНаСкладах" посмотрите (или какая там у вас конфа)?
|
|||
34
never_be
16.06.14
✎
18:35
|
(31) ВСЕ ОЖИЛО ! Я просто удалил руками группировку, а в конструкторе она жила.
(26) Вот это помогло на 100%. |
|||
35
DS
16.06.14
✎
18:43
|
(34) Интересно, чем это поможет, если стоит задача "списать то что оприходовали раньше всего".
|
|||
36
Enders
16.06.14
✎
18:49
|
(35) Это будет следующий вопрос/тема =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |