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

Запрос остатки товаров по документу

Запрос остатки товаров по документу
Я
   ShS2
 
29.03.21 - 11:07
Добрый день
Прохожу на сайте курсы-по-1с.рф Программирование в 1С 8.3 – за 21 день
Остановился на здесь https://курсы-по-1с.рф/free/programming-in-1c-in-21-days/balances-and-turnovers-day-11/

Делаю домашнее задание №11
Вот запрос
ВЫБРАТЬ
    ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
    ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
ИЗ
    РегистрНакопления.ОстаткиТоваров.Остатки(
            ,
            Номенклатура В
                (ВЫБРАТЬ
                    РеализацияТоваровТовары.Номенклатура
                ИЗ
                    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
                ГДЕ
                    РеализацияТоваровТовары.Ссылка = &ДокументПродажи)) КАК ОстаткиТоваровОстатки
В отчете выбираю дату и документ реализации, и получаю пустую таблицу
Остатки товаров есть на складе и в реализация товаров есть строки.
1С:Предприятие 8.3, учебная версия (8.3.18.1128)
Подскажите что не так в запросе ?
   mikecool
 
1 - 29.03.21 - 11:08
на сайте-оригинале не отвечают?
   mikecool
 
2 - 29.03.21 - 11:09
если запрос не работает - убери условия, заработал - значит условия ложные
   ShS2
 
3 - 29.03.21 - 11:15
Убрал в запросе условие 
ВЫБРАТЬ
    ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
    ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
ИЗ
    РегистрНакопления.ОстаткиТоваров.Остатки(
            ,
            Номенклатура В
                (ВЫБРАТЬ
                    РеализацияТоваровТовары.Номенклатура КАК Номенклатура
                ИЗ
                    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары)

Получил пустой список
Оставил только так
ВЫБРАТЬ
    ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
    ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
ИЗ
    РегистрНакопления.ОстаткиТоваров.Остатки(, ) КАК ОстаткиТоваровОстатки
Получил нормальные остатки остатки
   ShS2
 
4 - 29.03.21 - 11:16
Сделал отдельный отчет с запросом
ВЫБРАТЬ
    РеализацияТоваровТовары.Номенклатура КАК Номенклатура
ИЗ
    Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары
ГДЕ
    РеализацияТоваровТовары.Ссылка.Ссылка = &ДокументПродажи
Получил список товаров из документа реализации
   Волшебник
 
5 - 29.03.21 - 11:17
(0) >> В отчете выбираю дату

В запросе нет даты
   Kassern
 
6 - 29.03.21 - 11:19
(4) запихни его в виртуальную таблицу, а далее во втором пакете, сделай через левое соединеие по номенклатуре с регистом остатков
   Волшебник
 
7 - 29.03.21 - 11:20
(6) Не в виртуальную, а во временную
   Kassern
 
8 - 29.03.21 - 11:22
(7) да опечатался немного))
   mikecool
 
9 - 29.03.21 - 11:26
(3) номенклатура в остаткам и реализации не совпадает
   mikecool
 
10 - 29.03.21 - 11:26
+9 или типы не совпадают
   ShS2
 
11 - 29.03.21 - 11:26
(6) Прости но я пока это не умею.
Я делаю все как в видео разбор домашнего задания День 11. Получение данных из регистров
а в отчет не попадают остатки.

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

Все равно пустые остатки.
   mikecool
 
12 - 29.03.21 - 11:28
(11) см 9,10
   Kassern
 
13 - 29.03.21 - 11:38
(11) Берешь твой запрос с номенклатурой из реализации из (4), переходишь на вкладку "дополнительно" - создание временной таблицы, называешь ее к примеру "ТЧРеализации". Переходишь в на вкладку "Пакет запросов", нажимаешь на плюсик. У тебя откроется новый пакет запросов, в нем у тебя будет слева отображаться уже временные таблицы. Выбираешь от туда твою "ТЧРеализации" и и твой регистр остатков. На вкладке связи таблица 1 это твоя временная, таблица 2 это твой регистр, рядом с временной таблицей там поставь галочку (чтобы было левое соединение). В условии связи выбери номенклатуру. И вуаля, запрос уже не будет у тебя пустой, а вот остатки, если они есть то будут, если нет - null. Лучше конечно вместо ОстаткиТоваровОстатки.КоличествоОстаток написать ЕстьNull(ОстаткиТоваровОстатки.КоличествоОстаток,0).
   ShS2
 
14 - 29.03.21 - 11:42
(9) Проверил совпадают
Остатки
Карандаш 16шт
Ручки 89шт
Стерка 4шт

В документе реализация
Карандаш 5шт
Стерка 2шт

(10) Как типы не совпадают ?
   Kassern
 
15 - 29.03.21 - 11:47
(14) а если убрать подзапрос по реализации в виртуальной таблице остатков, там будет твой карандаш, стерка?
   Михаил Козлов
 
16 - 29.03.21 - 11:50
(15) ТС пишет, что будут. Попробуйте подзапрос заменить внутренним соединением, хотя это странно.
   Kassern
 
17 - 29.03.21 - 11:52
(16) да хз, может он остатки смотрит типовым отчетом на старую дату, а на текущую по факту остатков нет
   Масянька
 
18 - 29.03.21 - 11:59
(0)
ВЫБРАТЬ
    ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
    ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
ИЗ
    РегистрНакопления.ОстаткиТоваров.Остатки(
            &Момент,
            Номенклатура В
                (ВЫБРАТЬ
...............
ГраницаПоДокумент=Новый Граница(МоментВремени(), ВидГраницы.Включая);
("Момент", ГраницаПоДокумент) - параметр

Не?
   ShS2
 
19 - 29.03.21 - 12:01
(15) Если убрать запрос в параметрах виртуальной таблицы, то в отчете исчезает документ реализация и показывает все остатки
Карандаш 16шт
Ручки 89шт
Стерка 4шт
   ShS2
 
20 - 29.03.21 - 12:05
(18)
ГраницаПоДокумент=Новый Граница(МоментВремени(), ВидГраницы.Включая);
("Момент", ГраницаПоДокумент) - параметр

Не понял куда это писать ?
   ShS2
 
21 - 29.03.21 - 12:10
Вот моя база https://www.dropbox.com/s/3rp6eiw4etjwg32/1Cv8.dt?dl=0
Посмотрите, пожалуйста если не сложно.
Отчет называется ОстаткиТоваровПоДокументу
   Kassern
 
22 - 29.03.21 - 12:10
(19) Сделай, как я тебе в (13) написал и будет тебе счастье
   ShS2
 
23 - 29.03.21 - 12:27
(22) Спасибо, разбираюсь с (13)
   ShS2
 
24 - 31.03.21 - 15:27
В регистре ОстаткиТоваров измерение Номенклатура было типа Строка.
Поэтому в отчет не попадало.
Изменил на тип СправочникСсылка.Номенклатура и все заработало.
Все спасибо, за ответы.
   Kassern
 
25 - 31.03.21 - 15:29
(24) временные таблицы осилил?
   ShS2
 
26 - 31.03.21 - 15:35
(25) Пока еще разбираюсь.
   Mikeware
 
27 - 31.03.21 - 15:38
хм. миздюк со стажем в 15 лет проходит курс "программирование за 21 день"? у меня когнитивный диссонанс...
   Kassern
 
28 - 31.03.21 - 15:44
(27) видимо откладывал на завтра, а завтра наступило лишь через 15 лет)


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