Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Не получается LEFT JOIN на DBF (число прочтений - 1145 )
NashJK
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 2
Зарегистрирован: 15. Июля 2008
Не получается LEFT JOIN на DBF
17. Июля 2008 :: 07:27
Печать  
Начал изучать прямые запросы. хочу из внешнего отчета сделать подобие общего журнала.

Вид_док получается как id. Сделал временную таблицу, как сказано тут:
http://www.1cpp.ru/forum/YaBB.pl?num=1214911499/2#2
Далее пытаюсь пытаюсь получить представление ВидаДокумента в своем запросе:

Код
Выбрать все
ТекстЗапроса = "
	|SELECT
	|	Жур.IDDoc as [Док $Документ],
	|	Жур.IDDocDef as Док_вид,
	|	Жур.DATE as ДатаДок,
	|	Жур.TIME as ВремяДок,
	|	Жур.$ОбщийРеквизит.Фирма as [Фирма $Справочник.Фирмы],
	|	ВидыДоктов.Predstavlenie as ДокВид
	|FROM
	|	1SJourn as Жур
	|LEFT JOIN
	|	VidDocument as ВидыДоктов on Жур.IDDocDef = ВидыДоктов.IDDOCDEF
	|WHERE
	|	Жур.Date BETWEEN :ДатаНачала~~ AND :ДатаКонца~~
	|";

	Запрос.УстановитьТекстовыйПараметр("ДатаНачала", ДатаНачала);
	Запрос.УстановитьТекстовыйПараметр("ДатаКонца", ДатаКонца);


	//Запрос.Отладка(1);
	тзЗапроса = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
        тзЗапроса.ВыбратьСтроку();
 



Смотрю таблицу тзЗапроса, а колонка ДокВид пуста.
Подскажите, что не так?
  
Наверх
 
IP записан
 
NashJK
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 2
Зарегистрирован: 15. Июля 2008
Re: Не получается LEFT JOIN на DBF
Ответ #1 - 17. Июля 2008 :: 08:15
Печать  
Бубен.
Запрос без Inner Join
Код
Выбрать все
ТекстЗапроса = "
	|SELECT
	|	Жур.IDDoc as [Док $Документ],
	|	Жур.IDDocDef as Док_вид,
	|	Жур.DATE as ДатаДок,
	|	Жур.TIME as ВремяДок,
	|	Жур.$ОбщийРеквизит.Фирма as [Фирма $Справочник.Фирмы],
	|	VidDocument.Predstavlenie as ДокВид
	|FROM
	|	1SJourn as Жур
	|WHERE
	|	Жур.Date BETWEEN :ДатаНачала~~ AND :ДатаКонца~~
	|"; 



Поле ВидДок не пустое, во всей колонке ТЗ одно и то же значение....
« Последняя редакция: 17. Июля 2008 :: 11:47 - NashJK »  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Не получается LEFT JOIN на DBF
Ответ #2 - 17. Июля 2008 :: 08:37
Печать  
Поправил процедуру создания временной таблицы.
Вместо
Код
Выбрать все
IDDOCDEF=МД.ЧислоВСтроку(ИДДокумента,36); 


Нужно
Код
Выбрать все
	IDDOCDEFКратко=СокрЛП(МД.ЧислоВСтроку(ИДДокумента,36));
		ДлинаВида=СтрДлина(IDDOCDEFКратко);
		СтрПробелов="";
		Если ДлинаВида=1 Тогда  СтрПробелов="   ";
		ИначеЕсли ДлинаВида=2 Тогда СтрПробелов="  ";
		ИначеЕсли ДлинаВида=3 Тогда  СтрПробелов=" ";
		КонецЕсли;
		IDDOCDEF=СтрПробелов+IDDOCDEFКратко; 



Не понял с какого ... МД.ЧислоВСтроку(ИДДокумента,36) обрезает нужные пробелы  Ужас
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать