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

В отчете "ТоварыНаСкладах" отображает все документы перемещений хотя указал что нужен один

Автор Yanawerg, 11 мар 2025, 12:21

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

Yanawerg

Не могу понять почему отчет продолжает отображать документы хотя уже указал что должен быть отображён только тот что я прописал.
Что не так прописал или как вообще надо прописать условие что бы показал только по одному документу "ПеремещениеТоваров" ?

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПеремещениеТоваров.Ссылка
ПОМЕСТИТЬ ВремЗаказы
ИЗ
Документ.ПеремещениеТоваров КАК ПеремещениеТоваров

СГРУППИРОВАТЬ ПО
ПеремещениеТоваров.Ссылка
;

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

Максим75

Yanawerg, Вы указали один тип документа, вот Вам все эти документы и выгрузятся.
И при таком запросе Вам даже не надо условие проверять, Вы же во временную таблицу выгружаете документы перемещения.

И условие на тип регистратора не так делается, вот так и пишете ВремТоварыНаСкладах.Регистратор Ссылка и нужный тип документа

Yanawerg

Максим75, Извиняюсь, не правильно описал проблему.


У меня прописано что бы выдавал по документу "ПеремещениеТоваров" но сейчас помимо этого мне так же выдаёт и другие документы: "Реализации", ОтчетПроизводстваЗаСмену, перемещениеТоваров.


А мне надо чтобы только ПеремещениеТоваров.

Я понимаю что они из регистра накоплений берутся, но не могу понять почему ведь вроде как указал что только ПеремещениеТоваров должно быть.

Максим75

Yanawerg, смотрите, возьмите обороты и укажите в условии нужный вид документа, смотрите ССЫЛКА

Yanawerg

Максим75, К сожалению не помогло
отчет продолжает отображать и другие документы

Yanawerg

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


Указал что документ ОтчетПроизводстваЗаСмену просто не должен отображаться но он и это не помогло.
Что нужно сделать что он показал мне только ПеремещениеТоваров ?

Максим75

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

Yanawerg

Максим75, Хотите верьте хотите нет но не получилось.

Как минимум выдало вот такую ошибку:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(27, 47)}: Таблица не найдена "Документы.ПеремещениеТоваров"
ТоварыНаСкладахОстаткиИОбороты.Регистратор <<?>>ССЫЛКА Документы.ПеремещениеТоваров

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

Yanawerg

Проверил что сам накалякал после того как вы мне написали как надо, в Консоли запросов и там всё идеально.

Но вот когда этот же код в СКД для того что бы построить отчет, он мне выдаёт и другие документы.
КАК это вообще ?

Максим75

Yanawerg, значит надо писать Документ.ПеремещениеТоваров.
я их всегда путаю, где Документы а где Документ писать.
ну в конструктор запроса засуньте запрос и сделайте.

а зачем Вам вообще соединение? Регистратор - это и есть документ, зачем еще что-то с чем-то соединять.

да и вообще, что Вы хотите получить в выборке? у Вас там столько всего напихано, неужели все надо?
может Вам надо просто группировку по регистратору и по товару и видеть, в каком перемещении какой товар и сколько было? тогда зачем ОстаткиИОбороты, лучше просто Обороты взять.

Теги:

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

Рейтинг@Mail.ru

Поиск