Имя: Пароль:
1C
1С v8
УТ 11. В результате запроса остатки задваиваются
0 C0oLZ3r0
 
06.03.12
21:53
Собственно, запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ост.Номенклатура КАК Номенклатура,
   |    ост.ВНаличииНачальныйОстаток КАК остатокНачало,
   |    ост.ВНаличииОборот КАК Оборот,
   |    ост.ВНаличииПриход КАК КоличествоПриход,
   |    ост.ВналичииРасход КАК КоличествоРасход,
   |    ост.ВНаличииКонечныйОстаток КАК ОстатокКонец
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц,, ) КАК ост
   
   |ИТОГИ
   |    СУММА(остатокНачало),
   |    СУММА(Оборот),
   |    СУММА(КоличествоПриход),
   |    СУММА(КОличествоРасход),
   |    СУММА(ОстатокКонец)
   |ПО
   |    Номенклатура

Подскажите, в чем может быть дело?
1 Maxus43
 
06.03.12
21:57
&НачалоПериода, &КонецПериода. интервал какой? ОстаткиОбороты - запись на начало периода, на каждый месяц и на конец периода. задвоится если в рамках одного месяца даты
2 C0oLZ3r0
 
06.03.12
22:05
(1) интервал месяц.
3 C0oLZ3r0
 
06.03.12
22:11
Сейчас попробовал даты разных месяцев поставить: результат не поменялся... Как можно перестроить отчет чтобы показывал что надо?
4 Maxus43
 
06.03.12
22:13
к таблице Обороты соединением таблицу остатков делай
5 C0oLZ3r0
 
06.03.12
22:16
ок. Чего не хотелось делать, да придется ;)
6 C0oLZ3r0
 
11.03.12
10:10
Сделал вот такой запрос:

ВЫБРАТЬ
   |    ОстатокНаНачало.Номенклатура КАК Номенклатура,
   |    ОстатокНаНачало.ВНаличииОстаток КАК КоличествоНачальныйОстаток,
   |    0,
   |    0,
   |    0
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.Остатки(НАЧАЛОПЕРИОДА(&НачалоПериода,ДЕНЬ), ) КАК ОстатокНаНачало
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |    ОстатокНаКонец.Номенклатура КАК Номенклатура,
   |    0,
   |    0,
   |    0,
   |    ОстатокНаКонец.ВНаличииОстаток КАК КоличествоКонечныйОстаток
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.Остатки(КОНЕЦПЕРИОДА(&КонецПериода,ДЕНЬ), ) КАК ОстатокНаКонец
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |    об.Номенклатура КАК Номенклатура,
   |    0,
   |    об.ВНаличииПриход КАК Приход,
   |    об.ВНаличииРасход КАК Расход,
   |    0
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода,&КонецПериода , Авто, , ) КАК об
   |УПОРЯДОЧИТЬ ПО
   |    Номенклатура
   |ИТОГИ ПО
   |    ОБЩИЕ,
   |    Номенклатура

Все равно не хочет делать то, что надо...
Подскажите, пожалуйста, знающие люди где что подправить! Уже сил нет
7 ale-sarin
 
11.03.12
10:12
(6) Может периодичность оборотов "Период" сделать?
8 el-gamberro
 
11.03.12
10:16
Жесть! А где поля дат в выборке, к которым запрос должен привязаться?:))
9 C0oLZ3r0
 
11.03.12
10:18
...ух при запуске отчета говорит, что "Значение не является значением объектного типа (Ссылка)". Это он на Номенклатура.Ссылка.
10 el-gamberro
 
11.03.12
10:19
Попробуй так:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ост.Номенклатура КАК Номенклатура,
   |    ост.ВНаличииНачальныйОстаток КАК остатокНачало,
   |    ост.ВНаличииОборот КАК Оборот,
   |    ост.ВНаличииПриход КАК КоличествоПриход,
   |    ост.ВналичииРасход КАК КоличествоРасход,
   |    ост.ВНаличииКонечныйОстаток КАК ОстатокКонец, ост.ПериодМесяц
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто,, ) КАК ост
   
   |ИТОГИ
   |    СУММА(остатокНачало),
   |    СУММА(Оборот),
   |    СУММА(КоличествоПриход),
   |    СУММА(КОличествоРасход),
   |    СУММА(ОстатокКонец)
   |ПО
   |    Номенклатура
11 Shurjk
 
11.03.12
10:20
А чем результаты запроса выводишь?
12 SUA
 
11.03.12
10:22
(0)итоги убить,

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ост.Номенклатура КАК Номенклатура,
   |    СУММА(ост.ВНаличииНачальныйОстаток) КАК остатокНачало,
   |    СУММА(ост.ВНаличииОборот) КАК Оборот,
   |    СУММА(ост.ВНаличииПриход) КАК КоличествоПриход,
   |    СУММА(ост.ВналичииРасход) КАК КоличествоРасход,
   |    СУММА(ост.ВНаличииКонечныйОстаток) КАК ОстатокКонец
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц,, ) КАК ост
   |    СГРУППИРОВАТЬ ПО ост.Номенклатура

как-то так...
13 Reset
 
11.03.12
10:23
(0) Ты точно не принимаешь вывод итогов за задвоение?
14 SUA
 
11.03.12
10:23
а то выборка по группировкам+детальные уже могут задвоение нарисовать
15 Shurjk
 
11.03.12
10:24
(13) ДЖа 100 процентов именно в этом причина - наверное СКД использует для вывода.
16 C0oLZ3r0
 
11.03.12
10:24
(11) Результат запроса выходит в таблицу на форме.
Процесс разбора примерно такой:

Для каждого ст Из результат цикл
стр = ТаблицаНаФорме.Добавить();
стр.Номенклатура = ст.Номенклатура.Наименование;
// и т.д.
КонецЦикла;
17 Shurjk
 
11.03.12
10:25
Вот и выросло поколение которое далает построителем запрсосов -запросы и само не понимает что получиться в резкльтате.
18 Shurjk
 
11.03.12
10:25
(16) Зачем итоги в запросе ставил?
19 el-gamberro
 
11.03.12
10:26
(16) запросы с итогами нужно выводить с группировками.
20 el-gamberro
 
11.03.12
10:26
(17) ето хорошо, для нас работы больше будет :)))
21 Shurjk
 
11.03.12
10:28
(20) Хрена с два, наоборот опустя такие деятели 1с ниже плинтуса и никто не будет ее серьзно воспринимать, это еще ладно явные ошибки а вот когда он начнет соеднинения использовать вот там самое веселье и будет.
22 Reset
 
11.03.12
10:28
(16) Убери вообще итоги из (0) и будет тебе счастье
23 C0oLZ3r0
 
11.03.12
11:10
Запрос в (12) пошел, но остатки на начало и на конец периода искажаются в том плане, что по некоторым позициям есть остаток на начало (по текущему запросу) хотя в отчете (Ведомость по товарам на складах) его нет. Этот остаток исключается из "Расхода".

Пробовал модифицировать запрос след. образом: указал НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), думал что не входят некоторые позиции в начале периода.

З.Ы. Если указать КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ) - запрос не обрабатывается. Если оставить такую конструкцию только для НачалоПериода, то все ок.
24 C0oLZ3r0
 
11.03.12
13:02
Хм... с самого начала запрос был верный. Как обычно, все просто ;)
Результат запроса раскидывал в таблицу. Таблица сворачивалась (таб.свернуть(.., ...)).

Сейчас закоментировал данную строку. В результате в таблице несколько одинаковых товаров, но с разным движением (остаток на начало, приход, расход, остаток на конец периода).

Как сделать так, чтобы в таблицу заносились только нужные позиции, которые выводятся штатным отчетом?
25 C0oLZ3r0
 
11.03.12
13:14
Откуда могут вообще браться несколько позиций товаров?
26 lordmb
 
11.03.12
14:32
(25) разный "Период"
27 C0oLZ3r0
 
11.03.12
16:24
(26) Каким образом он может быть "разным"?
28 C0oLZ3r0
 
11.03.12
17:28
Насчет периода думал. В запросе делал так:

Запрос.УстановитьПараметр("Период", Период);

При выполнении запроса ругается, нельзя сравнивать разные типы и т.д.
29 qeos
 
11.03.12
17:32
какие остатки задваиваются? вы чего?
30 C0oLZ3r0
 
11.03.12
17:36
Насчет задваивания вопрос решился почти... При выгрузке результата в таблицу (элемент формы) появляются несколько одинаковых позиций номенклатуры с разными движениями (приход, расход, остатки на начало и конец периода). Как это побороть, пока что не знаю. Собственно, хочется знать мнение авторитетных людей :)
31 qeos
 
11.03.12
17:37
(30) какие именно остатки задваиваются?
32 qeos
 
11.03.12
17:37
СУММА(остатокНачало)
эти?
33 C0oLZ3r0
 
11.03.12
17:38
ага... без "СУММА(остатокНачало)" та же история
34 qeos
 
11.03.12
17:39
учи матчасть.
35 C0oLZ3r0
 
11.03.12
17:39
В каком направлении?
36 qeos
 
11.03.12
17:40
получение остатков и оборотов и периодичность
37 C0oLZ3r0
 
11.03.12
17:43
Мда... Этот запрос в СКД выводит нормальные остатки и обороты, а при "обычном" разборе фигня получается :(
38 qeos
 
11.03.12
17:56
потому что.. читай матчасть.. скд суммирует правильно.. а ты запросом не то сумируешь что тебе надо.
39 C0oLZ3r0
 
11.03.12
17:58
А что суммировать надо? Подскажите, пожалуйста! Буду оч. благодарен!
40 C0oLZ3r0
 
11.03.12
23:28
Блин, разобрался... Суммировать ничего не надо ;)
С периодом проблемы.
Как же указать период?
41 C0oLZ3r0
 
12.03.12
06:27
Посмотрел - в таблице движения товаров за указанный период и еще за какой-то...

Подскажите где ошибка
42 C0oLZ3r0
 
12.03.12
08:29
Ап.
Помогите, плиз, сроки поджимают. Надо было еще вчера
43 lordmb
 
12.03.12
11:33
(42) покажи конечный текст запроса, на котором ты остановился.
ты получаешь такую таблицу:
Номенклатура1,остатокНачало1,Оборот1,КоличествоПриход1,КоличествоРасход1,ОстатокКонец1
Номенклатура1,остатокНачало2,Оборот2,КоличествоПриход2,КоличествоРасход2,ОстатокКонец2

так?

а что требуется?
44 C0oLZ3r0
 
12.03.12
11:50
На данный момент запрос в таком виде:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ост.Номенклатура.Ссылка КАК Номенклатура,
   |    СУММА(ост.ВНаличииНачальныйОстаток) КАК КоличествоНачальныйОстаток,
   |    СУММА(ост.ВНаличииПриход) КАК КоличествоПриход,
   |    СУММА(ост.ВналичииРасход) КАК КоличествоРасход,
   |    СУММА(ост.ВНаличииКонечныйОстаток) КАК КоличествоКонечныйОстаток,
   |    ост.Период КАК Период
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Месяц , ДвиженияИГраницыПериода ) КАК ост
   |СГРУППИРОВАТЬ ПО ост.Период, ост.Номенклатура


По крайней мере в таблицу попадают НУЖНЫЕ строки.
А вообще выводятся несколько одинаковых позиций номенклатуры с разными оборотами, остатками на начало и конец.

З.Ы. насчет таблицы - да, все правильно. Только колонка "оборот" не нужна.
45 lordmb
 
12.03.12
11:55
(44)

<<А вообще выводятся несколько одинаковых позиций номенклатуры с разными оборотами, <<остатками на начало и конец.
и разными "Периодами"

Номенклатура1,остатокНачало1,КоличествоПриход1,КоличествоРасход1,ОстатокКонец1,Период1
Номенклатура1,остатокНачало2,КоличествоПриход2,КоличествоРасход2,ОстатокКонец2,Период2

А тебе что требуется?
46 C0oLZ3r0
 
12.03.12
11:56
нужно остаток товара на начало периода, его оборот за период и остаток на конец периода
47 C0oLZ3r0
 
12.03.12
11:56
точнее не оборот, а приход и расход
48 Reset
 
12.03.12
12:01
(46) За 6 дней так и не определился, что нужно, лол. Зачем тогда периодичность месяц? Зачем тебе СУММА()?
go (34)(36)
49 lordmb
 
12.03.12
12:06
(46) за период ты имеешь ввиду промежуток между "НачалоПериода" и "КонецПериода" или периодичность "Месяц"

сейчас ты получаешь вот такое:
ОстНачМесяц1,КоличествоПриходМесяц1,КоличествоРасходМесяц1,ОстКонМесяц1,Месяц1
ОстНачМесяц2,КоличествоПриходМесяц2,КоличествоРасходМесяц2,ОстКонМесяц2,Месяц2
50 C0oLZ3r0
 
12.03.12
12:08
За период - это значит между датами НачалоПериода и КонецПериода
51 lordmb
 
12.03.12
12:13
(50) тогда, как тебе уже намекнул (48), убери Периодичность у таблицы
52 C0oLZ3r0
 
12.03.12
12:13
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ост.Номенклатура.Ссылка КАК Номенклатура,
   |    СУММА(ост.ВНаличииНачальныйОстаток) КАК КоличествоНачальныйОстаток,
   |    СУММА(ост.ВНаличииПриход) КАК КоличествоПриход,
   |    СУММА(ост.ВналичииРасход) КАК КоличествоРасход,
   |    СУММА(ост.ВНаличииКонечныйОстаток) КАК КоличествоКонечныйОстаток
   |ИЗ
   |    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, , ДвиженияИГраницыПериода ) КАК ост
   |СГРУППИРОВАТЬ ПО ост.Номенклатура

Остатки на начало не выводятся :(
53 lordmb
 
12.03.12
12:25
(52)видимо ты смотришь остатки с рождества христова :)

убери фигурные скобки:
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , ДвиженияИГраницыПериода, ) КАК ост
54 C0oLZ3r0
 
12.03.12
12:29
(53) результат не поменялся...
55 C0oLZ3r0
 
12.03.12
12:30
Остатков на начало нет. При сравнении с штатным отчетом остатки на конец периода, приход, и расход отличаются
56 lordmb
 
12.03.12
12:38
(55) убери "РАЗРЕШЕННЫЕ"
57 C0oLZ3r0
 
12.03.12
13:58
(56) остатков на начало все равно нет
58 lordmb
 
12.03.12
15:00
(57) значит остатков на &НачалоПериода нету.
59 C0oLZ3r0
 
12.03.12
15:24
Если смотреть по отчетам, которые идут в составе конфигурации, остатки есть. Приход, расход тоже отличается
60 C0oLZ3r0
 
12.03.12
15:42
Параметры НачалоПериода и КонецПериода передаются в запрос через запрос.УстановитьПараметр("НачалоПериода", НачалоПериода). Тоже самое с КонецПериода.
Значения их выбираются на форме
61 Shurjk
 
12.03.12
15:58
А история то оказывается с продолжением:) - однако....
62 Shurjk
 
12.03.12
15:59
И все вам период покоя не дает.
Тс открой для себя консоль запросов там сначал отлаживай запросы, чтоб хоть понимать откуда чего береться в таблице которую ты потом выводишь.
63 C0oLZ3r0
 
12.03.12
17:10
(62) спс за совет. Благодарю :)

Открыл для себя "Консоль запросов". Классная штука! Засунул туда свой запрос, указал параметры нажал кн. "Выполнить" и... У меня забрезжил лучик надежды, что скоро все таки можно будет уйти с работы ;)

В общем получается что с запросом все ок. Проблемы с разбором. Буду дальше мучить отчет ;) ;) ;)

Если что - отпишусь :)
64 C0oLZ3r0
 
13.03.12
17:36
Проблема была оч. и оч. банальна ;) В параметрах НачалоПериода и КонецПериода передавались неверные значения.

Вывод один: надо иногда отдыхать ;)

З.Ы. особый респект lordmb и всем, кто помогал
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс