Запрос возвращает не все значения.

1. Terabaytus 29.09.20 10:19 Сейчас в теме
Добрый день, понять не могу запрос не возвращает значения

| СпецификацияКонтракта.СпецификацияКонтрактаНомерКонтракта,
| СпецификацияКонтракта.СпецификацияКонтрактаКоличество,
| СпецификацияКонтракта.СпецификацияКонтрактаКоличество + ВремТабКоличествоСучётомДопСог.ДопСоглКоличество

хотя в регистре сведений они есть и присоединёны по всем правилам.
ВЫБРАТЬ 
	    |  ДополнительныеСоглашения.ДополнительныеСоглашенияНомерКонтракта,
	|СУММА(
	|ВЫБОР КОГДА ДополнительныеСоглашения.ДополнительныеСоглашенияНаименование = ""Да""
	|ТОГДА ДополнительныеСоглашения.ДополнительныеСоглашенияКоличество 
	|ИНАЧЕ - ДополнительныеСоглашения.ДополнительныеСоглашенияКоличество 
	|КОНЕЦ) КАК ДопСоглКоличество    
	|ПОМЕСТИТЬ ВремТабКоличествоСучётомДопСог
	|ИЗ
	    |  РегистрСведений.ДополнительныеСоглашения КАК ДополнительныеСоглашения
	|СГРУППИРОВАТЬ ПО 
	    |  ДополнительныеСоглашения.ДополнительныеСоглашенияНомерКонтракта
	|;
	|ВЫБРАТЬ
	    |  Поставка.ПоставкаНомерПоставки,
		|  Поставка.ПоставкаНомерКонтракта,
		|  Поставка.ПоставкаНаименованиеПозиции,
		|  Поставка.ПоставкаОсталось,
		|  Поставка.ПоставкаОсталось + ВремТабКоличествоСучётомДопСог.ДопСоглКоличество КАК ДопСоглОсталось,
		|  Поставка.ПоставкаЦенаЗаЕд,
		|  Поставка.ПоставкаЕдИзм,
		|  СпецификацияКонтракта.СпецификацияКонтрактаНомерКонтракта,
		|  СпецификацияКонтракта.СпецификацияКонтрактаКоличество,
		|  СпецификацияКонтракта.СпецификацияКонтрактаКоличество + ВремТабКоличествоСучётомДопСог.ДопСоглКоличество КАК ДопСоглКоличество,
		|  ВыбраныйНомерПоставки.ВыбраныйНомерПоставкиДляФормы,
		|  ВыбраныйНомерКонтракта.ВыбраныйНомерКонтрактаДляФорм,
		|  ВремТабКоличествоСучётомДопСог.ДополнительныеСоглашенияНомерКонтракта
	|ИЗ
		|  РегистрСведений.Поставка КАК Поставка
	|ЛЕВОЕ СОЕДИНЕНИЕ 
		|  РегистрСведений.ВыбраныйНомерКонтракта КАК ВыбраныйНомерКонтракта
	|ПО 
		|  (Поставка.ПоставкаНомерКонтракта = ВыбраныйНомерКонтракта.ВыбраныйНомерКонтрактаДляФорм)
	|ЛЕВОЕ СОЕДИНЕНИЕ 
		|  РегистрСведений.ВыбраныйНомерПоставки КАК ВыбраныйНомерПоставки
	|ПО 
		|  (Поставка.ПоставкаНомерПоставки = ВыбраныйНомерПоставки.ВыбраныйНомерПоставкиДляФормы)
	|ЛЕВОЕ СОЕДИНЕНИЕ 
		|  РегистрСведений.СпецификацияКонтракта КАК СпецификацияКонтракта
	|ПО 
		|  (Поставка.ПоставкаНомерКонтракта = СпецификацияКонтракта.СпецификацияКонтрактаНомерКонтракта
	|И  
		|  Поставка.ПоставкаНаименованиеПозиции = СпецификацияКонтракта.СпецификацияКонтрактаНаименование
	|И  
		|  Поставка.ПоставкаЕдИзм = СпецификацияКонтракта.СпецификацияКонтрактаЕдИзм
	|И  
		|  Поставка.ПоставкаКоличество = СпецификацияКонтракта.СпецификацияКонтрактаКоличество)
    |ЛЕВОЕ СОЕДИНЕНИЕ 
   		|  ВремТабКоличествоСучётомДопСог КАК ВремТабКоличествоСучётомДопСог
    |ПО 
    	|  (Поставка.ПоставкаНомерКонтракта = ВремТабКоличествоСучётомДопСог.ДополнительныеСоглашенияНомерКонтракта)
	|ГДЕ
	    |  Поставка.ПоставкаНомерКонтракта = ВыбраныйНомерКонтракта.ВыбраныйНомерКонтрактаДляФорм
	|И  
		|  Поставка.ПоставкаНомерПоставки = ВыбраныйНомерПоставки.ВыбраныйНомерПоставкиДляФормы
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. zarankony 305 29.09.20 10:29 Сейчас в теме
Уверены что правильно присоединили? типы совпадают?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. Vitaly1C8 29.09.20 11:32 Сейчас в теме
(1) Раз уж в Запросе уже используется временная таблица, почему бы не использовать еще ?!
Каждую таблицу в ЛЕВОЕ СОЕДИНЕНИЕ необходимо сформировать до соединения с наложением условий фильтра;
Так можно будет проверить, что именно попало в таблицу для соединения;
В самом конце пишем финальный запрос с левым соединением к нашим временным таблицам !
10. Terabaytus 29.09.20 15:32 Сейчас в теме
(7)Создал ещё одну ВремТаб всё также. Главное этот запрос работал точно помню, но вдруг перестал. Я же нечего не путаю тип значения допустим в РегСвед стоит число берём от туда значение и выводим его в ячейку таблицы с таким же типом число. В консоль запросов просто смотрим что нам возвращает запрос?
2. zarankony 305 29.09.20 10:29 Сейчас в теме
Уверены что правильно присоединили? типы совпадают?
3. Terabaytus 29.09.20 10:33 Сейчас в теме
(2) Совпадают, я проверял в консоль запросов выводит так же без этих данных.
Прикрепленные файлы:
4. zarankony 305 29.09.20 10:59 Сейчас в теме
(3)Ну если ВремТабКоличествоСучётомДопСог не присоединилась, то третье поле должно быть NULL, первые два поля - не понятно. Попробуйте разбить на временные таблицы и посмотреть что в них попадает.
5. vlad_d 29.09.20 11:24 Сейчас в теме
    
    |ЛЕВОЕ СОЕДИНЕНИЕ 
    |  РегистрСведений.СпецификацияКонтракта КАК СпецификацияКонтракта
    |ПО 
    |  (Поставка.ПоставкаНомерКонтракта = СпецификацияКонтракта.СпецификацияКонтрактаНомерКонтракта
    |И  
    |  Поставка.ПоставкаНаименованиеПозиции = СпецификацияКонтракта.СпецификацияКонтрактаНаименование
    |И  
    |  Поставка.ПоставкаЕдИзм = СпецификацияКонтракта.СпецификацияКонтрактаЕдИзм
    |И  
    |  Поставка.ПоставкаКоличество = СпецификацияКонтракта.СпецификацияКонтрактаКоличество)
Показать


Все 4 поля в соединении должны совпадать по типу и значению. Если не находит, значит что то отличается.
6. Terabaytus 29.09.20 11:31 Сейчас в теме
(5) В консоль запросов выводит пустые строки, а какие в ней типы ? Или я не так понимаю.
8. vlad_d 29.09.20 11:43 Сейчас в теме
(6) Ну номера в одном источнике могут иметь тип число, в другом - строка. Посмотрите внимательно на типы того, по чему вы соединяете. А также на значения. Попробуйте упростить запрос и для конкретной ссылки на документ проверить. Любой лишний символ в значениях соотвествующих полей и ваше соединение вернет Null
9. FatPanzer 29.09.20 12:03 Сейчас в теме
(6) Если строки пустые - то в них либо нет никаких типов (NULL) либо там тупо "".
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот