v7: 1с++ получение ссылки документа вместо IDDOC + IDDOCDEF #596082


#0 by dk
исходные 1с 7.7 SQL 1c++ есть запрос к регистру, хочу получить ссылку на документ движения (регистратор) Джойнюсь к журналу и получаю IDDOC Конструкция жур.iddoc [Ссылка $Документ] возвращает iddoc вместо ссылки Что делать и кто виноват )
#1 by Ёпрст
читать не пробовал хелпы ?
#2 by Ёпрст
Хошь так: select
#3 by Rie
Если документ неопределённого вида - нужен ещё IDDOCDEF для типизации.
#4 by dk
читать хелп по 1с++ это капец какой-то
#6 by dk
,жур.iddocdef Ссылка_вид работает, но лишняя колонка добавляется
#7 by dk
в общем спасибо
#8 by Гефест
Тем не менее, капец необходим
#9 by Ёпрст
не верю.
#10 by dk
qryConsole : State 22018, native 245, message [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value ' 3JO0KRAD' to a column of data type int.
#11 by dk
, Затраты.ЖурналДокумент_вид + Затраты.ЖурналДокумент [ЖурналДокумент1 $Документ]
#12 by Mikeware
[dbo].Convert10To36(Затраты.ЖурналДокумент_вид) + Затраты.ЖурналДокумент [ЖурналДокумент1 $Документ]
#13 by dk
Invalid object name 'dbo.Convert10To36'.
#14 by Mikeware
CREATE FUNCTION Convert10To36(@Val_10 int) Returns char Begin DECLARE @j int, @nSpaces int, @Res36 char End
#15 by trad
стареешь
#16 by dk
а обратная есть?
#17 by Кириллка
Так: У него же скуль, а не дбф.
#18 by trad
самый кошерный вариант с Ссылка_вид а если колонка бесит, то ее можно грохнуть после получения результата
#19 by Mikeware
CREATE FUNCTION Convert36To10(@Val_36 varchar) Returns int Begin DECLARE @j int, @len int, @Val_10 int Return @Val_10 End
#20 by Ёпрст
Ёююю ltrim(Жур.iddocdef)+Жур.iddoc  [d $Документ]
#21 by Ёпрст
неа.. :))
#22 by dk
спб пригодится в хозяйстве
#23 by Ёпрст
не.. просто с дбф путаю, хотя в скуле тоже работает.. как в
#24 by Ёпрст
слишком сложно..и не нужно :)
#26 by Ёпрст
не сцы, усё работает
#27 by dk
стареешь или шибко самоуверен стал, вертай Ёпрст3 обратно ) qryConsole : Error # 5 : 0 : Invalid procedure call or argument
#28 by Кириллка
нуда, только поправил :) RIGHT('    ' + CAST(Жур.iddocdef as varchar), 4) + Жур.iddoc  [d $Документ]
#29 by Ёпрст
не знаю, какая у тебя версия 1cpp и скуля, но на 2008 sql всё работает и так
#30 by Mikeware
анихуа! 3.2.3.16, на 2000 - не работает
#31 by Ёпрст
#32 by Ёпрст
:) хз, 2000 нема проверить
#33 by Ёпрст
1cpp 3.2.2.5
#34 by Кириллка
Пробуй, все работает. select top 100 RIGHT('    ' + CAST(Жур.iddocdef as varchar), 4) + Жур.iddoc as [Док $Документ] from _1sjourn as Жур
#35 by Ёпрст
+33 как видишь, вк более древней версии :)
#36 by Ёпрст
а как в у тебя работает ?
#37 by Кириллка
так, отбой. там же в первых 4-х символах идентификатор 36-ный. iddocdef конверить же надо. Короче, все обазрались :)
#38 by trad
ёпрст, ты точно стареешь, маразмом начинает веять :) iddocdef - в sql в десятичной системе а для типизации из char13 вид должен быть в 36-ричной системе всякие касты iddocdef в char будет работать ровно до 9
#39 by Кириллка
мажусь: я делаю только через _kind/_вид, в эту терку вписался неподумав :)
#40 by trad
и я утверждаю, что _kind/_вид - наш выбор
#41 by Ёпрст
возможно, как прокомментируешь ?
#42 by trad
обман зрения аналогично у тебя и select '1234'+iddoc [d $Документ] from _1sjourn j отработает
#43 by Ёпрст
лукавишь.. при тыркании на табличке - документ открывается
#44 by Mikeware
А он так, как нужно, отрабатывает?
#45 by Ёпрст
шаман, отработало аналогично.. :)
#46 by Ёпрст
в принципе, да, при тыркании , спрашивает вид документа и если "угадал" - открывает его, иначе, болт.
#47 by trad
на выходе после '1234'+iddoc [d $Документ] будет объект - документ ссылка, но с кривыми внутренними данными
#48 by trad
просто для получения представления ссылки используется только iddoc и только по нему делается разыменование
#49 by Ёпрст
ну в общем ясно..
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С