Имя: Пароль:
1C
 
СКД отбором убивает данные столбца
,
0 ArturDoo
 
26.01.24
15:46
Столкнулся с такой проблемой, соединяю РС.СрезПоследних и РН.Обороты, в консоли все отрабатывает хорошо, и в отчете без отборов тоже. Но как только накладываешь отбор, пропадают данные присоединяемого РС. И не всякий отбор отстреливает данные. Подскажите, в чем может быть проблема?
1 Волшебник
 
26.01.24
15:47
Покажите запрос
2 ArturDoo
 
26.01.24
15:47
ВЫБРАТЬ
    ВЫБОР
        КОГДА Партнеры.Родитель = ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)
            ТОГДА Партнеры.Ссылка
        КОГДА Партнеры.Родитель <> ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)
            ТОГДА Партнеры.Родитель
        КОГДА Партнеры.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)
            ТОГДА Партнеры.Родитель.Родитель
        КОГДА Партнеры.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)
            ТОГДА Партнеры.Родитель.Родитель.Родитель
    КОНЕЦ КАК ИтоговаяСсылка,
    Партнеры.Ссылка КАК Партнер
ПОМЕСТИТЬ ВТ_Партнеры
ИЗ
    Справочник.Партнеры КАК Партнеры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    УП_ИсторияНДСПартнеровСрезПоследних.НДС КАК НДС,
    УП_ИсторияНДСПартнеровСрезПоследних.Партнер КАК ГоловнойПартнер,
    ВТ_Партнеры.Партнер КАК Партнер
ПОМЕСТИТЬ ВТ_НДС
ИЗ
    ВТ_Партнеры КАК ВТ_Партнеры
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УП_ИсторияНДСПартнеров.СрезПоследних({(&ПериодДК)}, ) КАК УП_ИсторияНДСПартнеровСрезПоследних
        ПО ВТ_Партнеры.ИтоговаяСсылка = УП_ИсторияНДСПартнеровСрезПоследних.Партнер
;

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

СГРУППИРОВАТЬ ПО
    НачисленияУдержанияПоСотрудникамОбороты.Начисление,
    НачисленияУдержанияПоСотрудникамОбороты.Сотрудник,
    НачисленияУдержанияПоСотрудникамОбороты.Подразделение,
    НачисленияУдержанияПоСотрудникамОбороты.Договор,
    НачисленияУдержанияПоСотрудникамОбороты.Договор.Партнер,
    ВТ_НДС.НДС
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Итог.Подразделение КАК Подразделение,
    ВТ_Итог.Договор КАК Договор,
    ВТ_Итог.Партнер КАК Партнер,
    ВТ_Итог.Сотрудник КАК Сотрудник,
    ВТ_Итог.Количество КАК Количество,
    ВТ_Итог.Сумма КАК Сумма,
    ВТ_Итог.Начисление КАК Начисление,
    ВТ_Итог.НДС КАК НДС
ИЗ
    ВТ_Итог КАК ВТ_Итог
3 Волшебник
 
26.01.24
15:54
Отбор по контрагенту напрашивается в самом первом запросе
{ГДЕ (НачисленияУдержанияПоСотрудникамОбороты.Договор.Партнер = &Партнер)}
4 ArturDoo
 
26.01.24
15:57
Уже был, не помогло. Сейчас стоит вопрос не оптимизации, а работоспособности
5 ArturDoo
 
26.01.24
15:58
Выбивает данные отбор по реквизитам КА, а не по самому КА
6 Волшебник
 
26.01.24
16:03
(4) Не морочьте нам голову
7 ArturDoo
 
26.01.24
16:06
(6)? Я никому не морочу голову, я хочу разобраться, почему пропадают данные из отчета
8 Волшебник
 
26.01.24
16:08
(7) Отбор по партнёру добавьте в первый и второй запрос, потому что ниже эта таблица является правой.
9 Timon1405
 
26.01.24
16:26
нужно найти консоль СКД которая умеет показывать итоговый текст запроса. есть на ИТС и в ИР ( http://devtool1c.ucoz.ru )
смотрите куда в тексте итогового запроса прилетит ваш отбор, по которому все пропадает.
что такое "КА"?
10 Волшебник
 
26.01.24
16:26
(9) КА - контрагент (партнёр)
11 AlexeyKh
 
26.01.24
16:39
похоже на это, в отборе указываете Партнера по которому нет НДСа, вот эта колонка и получается пустой
12 echo77
 
27.01.24
12:47
В (9) дельный совет. Посмотрите схему в консоли и всё сразу станет понятно.
13 d4rkmesa
 
27.01.24
14:12
(0) Отключите в вашем отчете на СКД(если это отчет) автозаполнение, сами выберите отборы и поля в разделе "Компоновка данных" конструктора запросов. Тогда все будет управляемо.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший