Группа: Пользователи
Сообщений: 113
Спасибо сказали: 1 раз
Рейтинг: 0
ВЫБРАТЬ Год2020.ВидУслуги КАК ВидУслуги, ЕстьNULL(Год2020.СуммаПриход, 0) КАК СуммаПриход2020, Год2020.МесяцРасчета КАК МесяцРасчета, ЕСТЬNULL(Год2021.СуммаПриход, 0) КАК СуммаПриход2021 ИЗ РегистрНакопления.РасчетыЗаУслуги.Обороты(, , , ГОД(МесяцРасчета) = &ПервыйГод) КАК Год2020 Левое СОЕДИНЕНИЕ РегистрНакопления.РасчетыЗаУслуги.Обороты(, , , ГОД(МесяцРасчета) = &ВторойГод) КАК Год2021 ПО Год2020.ВидУслуги = Год2021.ВидУслуги И (МЕСЯЦ(Год2020.МесяцРасчета) = МЕСЯЦ(Год2021.МесяцРасчета))
УПОРЯДОЧИТЬ ПО МесяцРасчета
подскажите пожалуйста почему не попадают в результат те месяцырасчета которые есть в левой таблице и нет в правой, а при внутреннем соединении, не попадают те что совпали заранее благодарен
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Проверяйте данные регистров. По полям соединений они разные.
Ваш пример отрабатывает нормально на таком запросе:
ВЫБРАТЬ "ВидУслуги1" КАК ВидУслуги, 1 КАК Месяц, 100 КАК СуммаПриход2020 ПОМЕСТИТЬ Год2020
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "ВидУслуги1", 2, 200
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "ВидУслуги1", 4, 400 ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ "ВидУслуги1" КАК ВидУслуги, 1 КАК Месяц, 100 КАК СуммаПриход2021 ПОМЕСТИТЬ Год2021
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "ВидУслуги1", 3, 300
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ "ВидУслуги1", 4, 400 ;
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Год2020.ВидУслуги КАК ВидУслуги, Год2020.Месяц КАК Месяц, IsNULL(Год2020.СуммаПриход2020,0) КАК СуммаПриход2020, IsNULL(Год2021.СуммаПриход2021,0) КАК СуммаПриход2021 ИЗ Год2020 КАК Год2020 ЛЕВОЕ СОЕДИНЕНИЕ Год2021 КАК Год2021 ПО (Год2020.ВидУслуги = Год2021.ВидУслуги И Год2020.Месяц = Год2021.Месяц)
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Цитата(lolmatrix @ 20.10.21, 14:08)
таблицы обе совершенно одинаковые из одного и того же регистра берут данные. за разные года
ВидУслуги в 2020 может не быть равен ВидУслуги в 2021 Простым примером запроса я показал что две одинаковые таблицы выдают нужный результат, при условии что данные по полям соединения одинаковые. Вы спросили "почему", я попытался наглядно объяснить.
А ещё. Если это СКД, то тут может отрабатывать РЛС. Если пользователю запрещены выбираемые данные на уровне записей, то в СКД они не попадут
Сообщение отредактировал Batchir - 20.10.21, 13:23
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
lolmatrix, Полное соединение выдает все данные обеих таблиц, поэтому ничего странного нет. Ещё раз акцентирую внимание на то что скорее всего виды услуг в разных годах разные. Может они называются одинаково, но это разные ссылки, а может как сказал Vofka - установлены какие-то дополнительные фильтры в СКД. В любом случае данные которые есть в Вашей системе известны только Вам. Пробуйте сначала отладить запрос в какой-то консоли запросов, а не в макете СКД, может тогда станет ясно где проблема.
Группа: Пользователи
Сообщений: 113
Спасибо сказали: 1 раз
Рейтинг: 0
Vofka @ Вчера, 16:06
, я только начинаю учиться конфигурация очень упрощенная. если скину посмотрите?
lolmatrix @ Сегодня, 9:04
, спасибо. разобрался, очень странно, но поучилось так: переписал в запросе полное, потом написал вместо полное, левое все заработало и еще одна странность, у отчета в фоме стоит СформироватьПриОкрытии, а формирует изменения после проведения и отмены проведения только по кнопке сформировать
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!