Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Использование $Документ (число прочтений - 4305 )
1Cnick
Junior Member
**
Отсутствует



Сообщений: 54
Местоположение: Украина, г. Кировоград
Зарегистрирован: 23. Октября 2006
Пол: Мужской
Использование $Документ
01. Ноября 2006 :: 16:14
Печать  
Всем привет.
Запустил пример:
Код
Выбрать все
//*******************************************
Процедура Сформировать()
	//База = СоздатьОбъект("ODBCDatabase");
	//Соединение = "DRIVER=Microsoft Visual FoxPro ceType=DBF;SourceDB="+КаталогИБ();
	База = СоздатьОбъект("OLEDBData");
	Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";
	Рез = База.Соединение(Соединение);
	Запрос = База.СоздатьКоманду();


	RS = СоздатьОбъект("ODBCRecordset");
	//RS.УстБД1С();
	//RS.УстБД(База);
	ТекстЗапроса = "
	|SELECT
	| Спр.ID as [ТМЦ $Справочник],
	| Спр.Code as Код,
	| Спр.Descr as Наименование
	|FROM
	| $Справочник.ТМЦ as Спр";

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



А поле ID - пустое. Подскажите, в чём может быть проблема?
  
Наверх
 
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Использование $Документ
Ответ #1 - 01. Ноября 2006 :: 17:09
Печать  
казалось бы, при чем тут:
1. Использование $Документ
2. 1С++, TurboMD и прочие вкусности

а если по сущетву, то где у тебя поле ID - пустое? если в ТЗ, то оно не просто пустое, его там просто нет...
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
1Cnick
Junior Member
**
Отсутствует



Сообщений: 54
Местоположение: Украина, г. Кировоград
Зарегистрирован: 23. Октября 2006
Пол: Мужской
Re: Использование $Документ
Ответ #2 - 02. Ноября 2006 :: 10:43
Печать  
Цитата:
казалось бы, при чем тут:
1. Использование $Документ
2. 1С++, TurboMD и прочие вкусности

а если по сущетву, то где у тебя поле ID - пустое? если в ТЗ, то оно не просто пустое, его там просто нет...

Объясняю...
Я просто не могу выбрать элементы справочника ЭП_Объекты из Комплексной.
Когда конкретизирую Спр.ID as [ТМЦ $Справочник.ЭП_Объекты] - ругается на $Справочник.ЭП.Объекты.
Когда Спр.ID as [ТМЦ $Справочник] - выводит пустую колонку.
Просто интересно узнать. У меня в руках проблема? Если да - то как правильно.
  
Наверх
 
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Использование $Документ
Ответ #3 - 02. Ноября 2006 :: 11:22
Печать  
конечно же в руках...
какое отношение Справочник.ЭП_Объекты имеет к Справочник.ТМЦ?
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
1Cnick
Junior Member
**
Отсутствует



Сообщений: 54
Местоположение: Украина, г. Кировоград
Зарегистрирован: 23. Октября 2006
Пол: Мужской
Re: Использование $Документ
Ответ #4 - 02. Ноября 2006 :: 11:42
Печать  
Цитата:
конечно же в руках...
какое отношение Справочник.ЭП_Объекты имеет к Справочник.ТМЦ?


Так понятнее?
[code]
//*******************************************
Процедура Сформировать()
     //База = СоздатьОбъект("ODBCDatabase");
     //Соединение = "DRIVER=Microsoft Visual FoxPro ceType=DBF;SourceDB="+КаталогИБ();
     База = СоздатьОбъект("OLEDBData");
     Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";
     Рез = База.Соединение(Соединение);
     Запрос = База.СоздатьКоманду();
     

     RS = СоздатьОбъект("ODBCRecordset");
     //RS.УстБД1С();
     //RS.УстБД(База);
     ТекстЗапроса = "
     |SELECT
     | Спр.ID as [ТМЦ $Справочник],
     | Спр.Code as Код,
     | Спр.Descr as Наименование
     |FROM
     | $Справочник.ЭП_Объекты as Спр";
     
     ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
     ТЗ.ВыбратьСтроку();
КонецПроцедуры

А поле ID - пустое. Подскажите, в чём может быть проблема? [/quote]
  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Использование $Документ
Ответ #5 - 02. Ноября 2006 :: 12:33
Печать  
1Cnick писал(а) 01. Ноября 2006 :: 16:14:
поле ID - пустое. Подскажите, в чём может быть проблема?


Доку внимательно надо читать. Если ты пишешь просто $Справочник, а не $Справочник.ОпределенногоВида, то в конечную выборку должно попадать поле длиной 13 байт: 4 байта на код вида справочника и 9 байт на ид элемента справочника. А в твоем запросе в выборку попадет 9-байтовое поле, где будет только ИД. Тебе нужно писать так:

SELECT
$ВидСправочника36.ЭП_Объекты + Спр.ID AS [ТМЦ $Справочник]

Если не проканает из-за ЭП_Объекты, то можно попробовать собрать текст вопроса примерно таким образом:

ТекстЗапроса = "SELECT '" + МД.ИДСправочника ("ЭП_Объекты") + "' + Спр.ID AS [$Справочник]"

где МД - это MetaDataWork
  
Наверх
 
IP записан
 
1Cnick
Junior Member
**
Отсутствует



Сообщений: 54
Местоположение: Украина, г. Кировоград
Зарегистрирован: 23. Октября 2006
Пол: Мужской
Re: Использование $Документ
Ответ #6 - 02. Ноября 2006 :: 14:19
Печать  
Uzhast писал(а) 02. Ноября 2006 :: 12:33:
1Cnick писал(а) 01. Ноября 2006 :: 16:14:
поле ID - пустое. Подскажите, в чём может быть проблема?


Доку внимательно надо читать. Если ты пишешь просто $Справочник, а не $Справочник.ОпределенногоВида, то в конечную выборку должно попадать поле длиной 13 байт: 4 байта на код вида справочника и 9 байт на ид элемента справочника. А в твоем запросе в выборку попадет 9-байтовое поле, где будет только ИД. Тебе нужно писать так:

SELECT
$ВидСправочника36.ЭП_Объекты + Спр.ID AS [ТМЦ $Справочник]

Если не проканает из-за ЭП_Объекты, то можно попробовать собрать текст вопроса примерно таким образом:

ТекстЗапроса = "SELECT '" + МД.ИДСправочника ("ЭП_Объекты") + "' + Спр.ID AS [$Справочник]"

где МД - это MetaDataWork



ОГРОМНОЕ СПАСИБО!!!!!!
Вот это да, вот это круто!!!!!!!!!!1
  
Наверх
 
IP записан
 
1Cnick
Junior Member
**
Отсутствует



Сообщений: 54
Местоположение: Украина, г. Кировоград
Зарегистрирован: 23. Октября 2006
Пол: Мужской
Re: Использование $Документ
Ответ #7 - 02. Ноября 2006 :: 14:52
Печать  
Uzhast писал(а) 02. Ноября 2006 :: 12:33:
SELECT
$ВидСправочника36.ЭП_Объекты + Спр.ID AS [ТМЦ $Справочник]


А с документами так можно?
Код
Выбрать все
$ВидДокумента36." + ДокВид + " + Док.IDDoc AS [Док $Документ]
 


  
Наверх
 
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Использование $Документ
Ответ #8 - 02. Ноября 2006 :: 15:31
Печать  
1Cnick писал(а) 02. Ноября 2006 :: 14:52:
А с документами так можно?
Код
Выбрать все
$ВидДокумента36." + ДокВид + " + Док.IDDoc AS [Док $Документ]
 




Можно. Смотри доку, христом-богом прошу Улыбка
  
Наверх
 
IP записан
 
Vaicartana
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 50
Местоположение: Far, Far Away...
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: Использование $Документ
Ответ #9 - 07. Ноября 2006 :: 08:05
Печать  
хм...
А для чего используется переменная RS?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать