Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Задваивается поле КоличествоКонечныйОстаток

Задваивается поле КоличествоКонечныйОстаток
Я
   skuma
 
22.10.19 - 17:49
Доброго времени суток! Не могу понять, почему так происходит, в консоли запросов делаю нижеприведенный запрос и на записи с двумя и более движениями по полю КоличествоКонечныйОстаток выходит общая сумма по движениям(например, всего ед. товара 6, в трех строчках по +2, у меня выводит три раза по 6). Соответственно в скд у меня из-за этого происходят чудеса с вычисляемыми полями. Сильно тапками не бейте, я только учусь)

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

УПОРЯДОЧИТЬ ПО
    Остатки.Номенклатура.Наименование,
    Период
 
 
   Ёпрст
 
1 - 22.10.19 - 17:52
(0) посмотри, сколько измерений имеет регистр сведений .Цены и по скольким полям ты делаешь соединение. Сделай выводы.
   skuma
 
2 - 22.10.19 - 17:54
(1) я заметил, что какое количество движений, такое у меня и количество строк. Я явно что-то натворил в первом соединении
   GROOVY
 
3 - 22.10.19 - 17:57
А это зачем?
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТипыЦен КАК ТипыЦен
            ПО ЦеныСрезПоследних.ТипЦен = ТипыЦен.Ссылка

И нет тут у тебя движений, ты тут остатки получаешь.
   skuma
 
4 - 22.10.19 - 17:58
(3) Это для того, чтобы ограничить выдачу по типу цен
   skuma
 
5 - 22.10.19 - 18:25
(3) ну тут да, я имею ввиду регистр
   skuma
 
6 - 22.10.19 - 20:30
(1) получается, я делаю соединение по этому регистру в двух соединениях. Но по одному я цепляюсь к предопределенному элементу
   skuma
 
7 - 22.10.19 - 20:31
https://cdn1.radikalno.ru/uploads/2019/10/22/7fae416d09a1f1ccbb440edf371ab00c-full.png

вот так выглядит сам косяк. По регистру количество три(расхода не было) по запросу в итоге 6 - два раза по два и два раза по одному
   GROOVY
 
8 - 22.10.19 - 20:44
У тебя там цена поменялась. Какую брать?

Вот так не пиши  ПО Остатки.Номенклатура.Ссылка = ЦеныСрезПоследних.Номенклатура.Ссылка , убери "ссылка", Номенклатура уже ссылка.

Отбор по типу цены запихни в параметры виртуальной таблицы.

Убери нафиг соединение со справочником.
   skuma
 
9 - 22.10.19 - 20:55
(8) https://cdn1.radikalno.ru/uploads/2019/10/22/b756174a8f340b0ae4ede6926056fc98-full.jpg

Сделал, как Вы рекомендовали. Все равно такие же чудеса.
   GROOVY
 
10 - 22.10.19 - 20:58
Отбор по типу цены в параметры вирт таблицы...
   skuma
 
11 - 22.10.19 - 21:40
(10) https://cdn1.radikalno.ru/uploads/2019/10/22/bd543efc4a666de17ceb40ed5474432c-full.jpg

Сделал отбор по типу цены в параметры виртуальной таблицы - все равно все так же...
   GROOVY
 
12 - 22.10.19 - 21:54
Ты по наименованию отбор накладываешь? 8-)
   GROOVY
 
13 - 22.10.19 - 21:58
Коллега из (1) видать прав, что-то у тебя еще интересное измерение есть в РС.
   skuma
 
14 - 22.10.19 - 22:06
(12) Ну да, движет мною то, что мне нужен конкретный тип цен


(13) https://cdn1.radikalno.ru/uploads/2019/10/22/1dfb724ee7968b6a1dff72246d0bad57-full.jpg

я по измерению соединился с другим регистром. Больше там не могу увидеть ничего интересного. Погромист из меня так себе
   GROOVY
 
15 - 22.10.19 - 22:10
Добавь строку ЦеныСрезПоследних.* и увидишь в чем дубли в измерениях.
   skuma
 
16 - 22.10.19 - 23:20
(15) ВЫБРАТЬ РАЗЛИЧНЫЕ
    Остатки.СкладКомпании КАК СкладКомпании,
    Остатки.Номенклатура КАК Номенклатура,
    Остатки.КоличествоОстаток КАК КоличествоКонечныйОстаток,
    Остатки.СуммаРознОстаток КАК СуммаРознКонечныйОстаток,
    ЦеныСрезПоследних.Цена КАК СуммаЗакуп,
    ЦеныСрезПоследних.ТипЦен КАК ТипЦен
    ИЗ
    РегистрНакопления.ОстаткиТоваровКомпании.Остатки(&Конец, ) КАК Остатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(, ТипЦен.Наименование = &ТипЦен) КАК ЦеныСрезПоследних
        ПО Остатки.Номенклатура = ЦеныСрезПоследних.Номенклатура
ГДЕ
    ЦеныСрезПоследних.Период МЕЖДУ &Начало И &Конец

УПОРЯДОЧИТЬ ПО
    Остатки.Номенклатура.Наименование


В таком виде остатки выводятся по одной строчке. Так получилось после того, как выкинул период и ХарактеристикаНоменклатуры

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.