Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
30 ноя 2025, 17:22

СКД отчет не выдает (точнее криво) при отборе по одной врем. таблицы по нулю... уже как не крутил только

Автор Hobo73, 25 ноя 2025, 15:39

0 Пользователей и 1 гость просматривают эту тему.

Hobo73

  Скорее стандартный отчет, не проданные товары за период, при наличии остатка в начале этого периода.
Отчет сам, в кратце:
1.PNG2.PNG3.PNG
Результат, без фильтра по Отгрузка все четко, суммы, количества, расчет сс. С фильтром по Отгрузка > 0, тоже все четко.
Но ставлю фильтр на 0, лажа..... причем делал и без таблице по номенклатура, собирая все на регистр ЗапасыОстатки из регистра ПродажиОбороты, тоже самое. ЕстьNULL везде стоит, пробовал формулу Отгрузка - 1, и фильтром по -1, ничего...
Явно что то простое, но не допру никак блин!))))
4.PNG5.PNG     

Максим75

Hobo73, втПродажи.ОтгрузкаШТ скорее всего возвращает NULL (что я вижу в 3 запросе), надо обрабатывать NULL при соединении таблиц, а Вы (что я вижу в втПродажи) обработали его при выборке, а там NULL и не будет, поскольку есть по товару оборот.

Hobo73


Hobo73

не написал сразу про это.
Убрал в втПродажи естьNULL
1.PNG
добавил в третий пакет, где объединение
2.PNG
так на выходе при фильтре Отгрузка =0, отчет обнуляет вообще все отгрузки и выводит полный список как будто ничего не
грузилось.... Опять же без этого фильтра все норм, отгрузки есть, там где нет в отчете пусто))
3.PNG
Дурь какая то

antoneus


Hobo73

Последний описанный вариант

ВЫБРАТЬ
   ЗапасыОстатки.Номенклатура КАК Номенклатура,
   ЕСТЬNULL(ЗапасыОстатки.КоличествоОстаток, 0) КАК ОстатокШТ,
   ЕСТЬNULL(ЗапасыОстатки.СуммаОстаток, 0) КАК ОстатокРУБ,
   ВЫБОР
      КОГДА ЕСТЬNULL(ЗапасыОстатки.КоличествоОстаток, 0) = 0
         ТОГДА 0
      ИНАЧЕ ЕСТЬNULL(ЗапасыОстатки.СуммаОстаток, 0) / ЕСТЬNULL(ЗапасыОстатки.КоличествоОстаток, 0)
   КОНЕЦ КАК Себестоимость
ПОМЕСТИТЬ втОстаток
ИЗ
   РегистрНакопления.Запасы.Остатки(&НачалоПериода, ) КАК ЗапасыОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ПродажиОбороты.Номенклатура КАК Номенклатура,
   ПродажиОбороты.КоличествоОборот КАК ОтгрузкаШТ
ПОМЕСТИТЬ втПродажи
ИЗ
   РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Товар.Наименование КАК Наименование,
   Товар.Код КАК Код,
   Товар.Артикул КАК Артикул,
   втОстаток.ОстатокШТ КАК ОстатокШТ,
   втОстаток.ОстатокРУБ КАК ОстатокРУБ,
   втОстаток.Себестоимость КАК Себестоимость,
   втОстаток.Номенклатура.Ссылка КАК НоменклатураСсылка,
   втПродажи.Номенклатура.Ссылка КАК НоменклатураСсылка1,
   Товар.Ссылка КАК Ссылка,
   ЕСТЬNULL(втПродажи.ОтгрузкаШТ, 0) КАК ОтгрузкаШТ
ИЗ
   Справочник.Номенклатура КАК Товар
      ЛЕВОЕ СОЕДИНЕНИЕ втОстаток КАК втОстаток
      ПО Товар.Ссылка = втОстаток.Номенклатура.Ссылка
      ЛЕВОЕ СОЕДИНЕНИЕ втПродажи КАК втПродажи
      ПО Товар.Ссылка = втПродажи.Номенклатура.Ссылка

antoneus

Отбора по периоду в продажах нет.
Чтобы фильтры работали нормально - раз все таблицы пристегиваем к справочнику, тогда везде втыкаем естьnull (ОстатокШТ, ОстатокРуб, Себестоимость).
В присоединении втОстаток.Номенклатура.Ссылка - не надо. втОстаток.Номенклатура - это уже ссылка.
Ну и по идее отбор должен работать.

Hobo73

Antoneus. Сделал вроде все так. Вот же гадость))) Поменял, добавил вообще везде естьNULL, нифига, без фильтра по 0 (именно в продажах) все ОК, выдает в список где есть остаток на начало и нет продаж, стоит поставить фильтр продажи=0, везде продажи пропадают, выводит весь список с остатком и все продажи пусто... загадка.
1.PNG

antoneus

Цитата: Hobo73 от 26 ноя 2025, 11:16стоит поставить фильтр продажи=0, везде продажи пропадают, выводит весь список с остатком и все продажи пусто

Ну, а проблема-то в чём? Так вроде и должно быть, не?

Hobo73

antoneus, Не, при фильтре Продажи = 0, должна остаться номенклатура по которой было остаток на указанную дату и нет продаж на указанный период после этой даты. Без фильтра так и работает, выводятся продажи и пусто где их не было, но включая этот фильтр продажи исчезают даже где они были до включения фильтра..... получается весь список номенклатуры в отчете с не нулевым остатком и как будто ничего не продавалось. Такое ощущение что затык в периодах... хотя вывел. Причем фильтр 0 на остаток четко работает.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск