Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) УстановитьТекстовыйПараметр для неопр реквизита (число прочтений - 9753 )
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
УстановитьТекстовыйПараметр для неопр реквизита
23. Апреля 2008 :: 13:45
Печать  
Есть строка ссылки на документ IDDOC (получаю из другой базы),
Как передать в другую базу эту ссылку по реквизиту неопределенного вида

     |SELECT СФС.SP11009 Страна
     |      ,ГТД.DESCR ГТД
     |FROM DH11012 AS СФ
     |INNER JOIN DT11012 AS СФС ON СФ.IDDOC = СФС.IDDOC
     |LEFT OUTER JOIN SC223 AS ГТД ON СФС.SP11010 = ГТД.ID
     |WHERE (СФ.SP11069 =:Док)
     |AND (СФС.SP10995 = :Товар)";

СФ.SP11069 - документОснование неопред вида
СФС счетфактурастроки
СФ счет фактура
ГТД справочник ГТД

Как передать параметр Док?
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #1 - 23. Апреля 2008 :: 13:52
Печать  
Курим доку...

:Док~

Настораживает "Как передать в другую базу"
Это копия базы?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #2 - 23. Апреля 2008 :: 13:53
Печать  
Код
Выбрать все
WHERE (СФ.SP11069 =:Док*) 

  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #3 - 23. Апреля 2008 :: 14:03
Печать  
JohnyDeath писал(а) 23. Апреля 2008 :: 13:53:
Код
Выбрать все
WHERE (СФ.SP11069 =:Док*) 



Вида а не типа... или туплю?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #4 - 23. Апреля 2008 :: 14:09
Печать  
Ну это, я думаю, лучше у автора спросить  Подмигивание
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #5 - 23. Апреля 2008 :: 14:13
Печать  
Цитата:
JohnyDeath писал(а) 23. Апреля 2008 :: 13:53:
Код
Выбрать все
WHERE (СФ.SP11069 =:Док*) 



Вида а не типа... или туплю?


Идет соединение с внешней 1С базой
СФ.SP11069 =:Док* не срабатывает - счет-фактура не находится, хотя она однозначно есть, ссылка на док-основание вида: "  1JST   "
- это то, что подставляю в УстановитьТекстовыйПараметр
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #6 - 23. Апреля 2008 :: 14:18
Печать  
А с чего у тебя ИД объекта во внешней базе должен совпадать с ИД объекта в твоей базе?
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #7 - 23. Апреля 2008 :: 14:20
Печать  
Код
Выбрать все
ВыбСтр="'"+Мд.ЗначениеВСамуюДлиннуюСтрокуБД(Выб)+"'"; 


где мд - присоединен к внешней базе
ВыбСтр вместо :Док*

Не очень понятно ДБФ или SQL и запрос откуда, но смысл думаю понятен
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #8 - 23. Апреля 2008 :: 14:23
Печать  
JohnyDeath писал(а) 23. Апреля 2008 :: 14:18:
А с чего у тебя ИД объекта во внешней базе должен совпадать с ИД объекта в твоей базе?


Получен другим запросом к внешней базе
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #9 - 23. Апреля 2008 :: 14:24
Печать  
Еще раз вопрос... базы-то разные... iddoc вполне могут не совпасть или совпасть с совершенно другим документом

Выполни свой запрос без условий и посмотри что содержится в SP11069
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #10 - 23. Апреля 2008 :: 14:24
Печать  
kiruha писал(а) 23. Апреля 2008 :: 14:20:
Код
Выбрать все
ВыбСтр="'"+Мд.ЗначениеВСамуюДлиннуюСтрокуБД(Выб)+"'"; 


где мд - присоединен к внешней базе
ВыбСтр вместо :Док*

Не очень понятно ДБФ или SQL и запрос откуда, но смысл думаю понятен

Я так понял, что он передаёт в :Товар и :Док значения из текущей базы и отправляет запрос на другую. В общем, не понятно...
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #11 - 23. Апреля 2008 :: 14:39
Печать  
JohnyDeath писал(а) 23. Апреля 2008 :: 14:24:
kiruha писал(а) 23. Апреля 2008 :: 14:20:
Код
Выбрать все
ВыбСтр="'"+Мд.ЗначениеВСамуюДлиннуюСтрокуБД(Выб)+"'"; 


где мд - присоединен к внешней базе
ВыбСтр вместо :Док*

Не очень понятно ДБФ или SQL и запрос откуда, но смысл думаю понятен

Я так понял, что он передаёт в :Товар и :Док значения из текущей базы и отправляет запрос на другую. В общем, не понятно...

Есть две базы SQL в первом запросе ко второй базе получены Ссылки на Документ и Товар (ссылки второй базы), как передать их правильно во втором запросе. Сделать все одним запросом пока не сумел.

ВыбСтр="'"+Мд.ЗначениеВСамуюДлиннуюСтрокуБД(Выб)+"'";  Так как в данном случае Выб ссылка другой базы, то ВыбСтр получаем пустую
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #12 - 23. Апреля 2008 :: 14:47
Печать  
Отправляю обработку, по ней будет понятнее, грузит в стандартную бухгалтерию из не совсем стандартной бухгалтерии . Загружает как приходную накладную расходную второй базы. Вроде работает, кроме ГТД, который по идее можно всять только из выданной с\ф, введенной на основании накладной
  

1_008.rar ( 18 KB | Загрузки )
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #13 - 23. Апреля 2008 :: 16:35
Печать  
mov68 писал(а) 23. Апреля 2008 :: 13:45:
Есть строка ссылки на документ IDDOC (получаю из другой базы),
Как передать в другую базу эту ссылку по реквизиту неопределенного вида

     |SELECT СФС.SP11009 Страна
     |      ,ГТД.DESCR ГТД
     |FROM DH11012 AS СФ
     |INNER JOIN DT11012 AS СФС ON СФ.IDDOC = СФС.IDDOC
     |LEFT OUTER JOIN SC223 AS ГТД ON СФС.SP11010 = ГТД.ID
     |WHERE (СФ.SP11069 =:Док)
     |AND (СФС.SP10995 = :Товар)";

СФ.SP11069 - документОснование неопред вида
СФС счетфактурастроки
СФ счет фактура
ГТД справочник ГТД

Как передать параметр Док?

если фактически вид документа, ид которого получаешь в первом запросе, один, то:
|WHERE (СФ.SP11069 = $ВидДокумента36.<ВидТогоДокумента>+:Док)
в противном случае придется в первом запросе "вытаскивать" док вместе с его видом
  

1&&2&&3
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #14 - 24. Апреля 2008 :: 05:33
Печать  
trad писал(а) 23. Апреля 2008 :: 16:35:
mov68 писал(а) 23. Апреля 2008 :: 13:45:
Есть строка ссылки на документ IDDOC (получаю из другой базы),
Как передать в другую базу эту ссылку по реквизиту неопределенного вида

     |SELECT СФС.SP11009 Страна
     |      ,ГТД.DESCR ГТД
     |FROM DH11012 AS СФ
     |INNER JOIN DT11012 AS СФС ON СФ.IDDOC = СФС.IDDOC
     |LEFT OUTER JOIN SC223 AS ГТД ON СФС.SP11010 = ГТД.ID
     |WHERE (СФ.SP11069 =:Док)
     |AND (СФС.SP10995 = :Товар)";

СФ.SP11069 - документОснование неопред вида
СФС счетфактурастроки
СФ счет фактура
ГТД справочник ГТД

Как передать параметр Док?

если фактически вид документа, ид которого получаешь в первом запросе, один, то:
|WHERE (СФ.SP11069 = $ВидДокумента36.<ВидТогоДокумента>+:Док)
в противном случае придется в первом запросе "вытаскивать" док вместе с его видом


Еще для одной базы ДокументОснование - документ (13), как тогда -  ВидДокумента13?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #15 - 24. Апреля 2008 :: 05:43
Печать  
mov68 писал(а) 24. Апреля 2008 :: 05:33:
Еще для одной базы ДокументОснование - документ (13), как тогда -  ВидДокумента13?
Не понял, ты о чем?

Что такое $ВидДокумента36 ты знаешь?
А что такое ВидДокумента13 - мне не известно.
  

1&&2&&3
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #16 - 24. Апреля 2008 :: 06:01
Печать  
Попробовал
     Док="' ,"D")+"'";
     ТекстЗапроса = "
     |SELECT СФС.SP11009 Страна
     |      ,ГТД.DESCR ГТД
     |FROM DH11012 AS СФ
     |INNER JOIN DT11012 AS СФС ON СФ.IDDOC = СФС.IDDOC
     |LEFT OUTER JOIN SC223 AS ГТД ON СФС.SP11010 = ГТД.ID
     |WHERE (СФ.SP11069 ="+Док+";

В Док спереди добавлен пробел, чтобы получилось 13 символов (Тип Документ)
V- вид документа, D - документ, оба из подключаемой базы
Выдает
State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 7: Incorrect syntax near ' 294  1JST   '.
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #17 - 24. Апреля 2008 :: 06:02
Печать  
trad писал(а) 24. Апреля 2008 :: 05:43:
mov68 писал(а) 24. Апреля 2008 :: 05:33:
Еще для одной базы ДокументОснование - документ (13), как тогда -  ВидДокумента13?
Не понял, ты о чем?

Что такое $ВидДокумента36 ты знаешь?
А что такое ВидДокумента13 - мне не известно.


Не пинайте, я просто не знаю как применить $ВидДокумента36 к документу  подключаемой базы
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #18 - 24. Апреля 2008 :: 06:35
Печать  
К посту 16, проверено, есть документ, в котором реквизит ДокументОснование имеет такое значение, значит скорее всего дело в способе передачи. Перепробовал все что знал. Намекните хоть куда двигаться?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #19 - 24. Апреля 2008 :: 06:45
Печать  
в (16)-м посте у тебя ругалось на отсутствие закрывающей скобки в конце.
Покажи, как ты "тзф" заполняешь.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #20 - 24. Апреля 2008 :: 07:00
Печать  
mov68 писал(а) 24. Апреля 2008 :: 06:01:
В Док спереди добавлен пробел, чтобы получилось 13 символов (Тип Документ)
V- вид документа, D - документ, оба из подключаемой базы

Сдается мне что в поле V у тебя ид вида в десятичном виде.
Но чтобы построить "длинную" ссылку правильно нужен ид вида в 36-ричной системе.
  

1&&2&&3
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #21 - 24. Апреля 2008 :: 07:49
Печать  
trad писал(а) 24. Апреля 2008 :: 07:00:
mov68 писал(а) 24. Апреля 2008 :: 06:01:
В Док спереди добавлен пробел, чтобы получилось 13 символов (Тип Документ)
V- вид документа, D - документ, оба из подключаемой базы

Сдается мне что в поле V у тебя ид вида в десятичном виде.
Но чтобы построить "длинную" ссылку правильно нужен ид вида в 36-ричной системе.


     ТекстЗапроса = "
     |SELECT СФС.SP11009 Страна
     |      ,ГТД.DESCR ГТД
     |   ,СФ.SP11069 ОСН
     |FROM DH11012 AS СФ
     |INNER JOIN DT11012 AS СФС ON СФ.IDDOC = СФС.IDDOC
     |LEFT OUTER JOIN SC223 AS ГТД ON СФС.SP11010 = ГТД.ID";
Получаем одно значение З.ОСН = "  86  1F79   "

                  Док="  86  1F79   ";
     ТекстЗапроса = "
     |SELECT СФС.SP11009 Страна
     |      ,ГТД.DESCR ГТД
     |   ,СФ.SP11069 ОСН
     |FROM DH11012 AS СФ
     |INNER JOIN DT11012 AS СФС ON СФ.IDDOC = СФС.IDDOC
     |LEFT OUTER JOIN SC223 AS ГТД ON СФС.SP11010 = ГТД.ID
     |WHERE СФ.SP11069 =:Док";

     Запр.УстановитьТекстовыйПараметр("Док",Док);
     З=Запр.ВыполнитьИнструкцию(ТекстЗапроса);

срабатывает
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #22 - 24. Апреля 2008 :: 07:52
Печать  
   |WHERE (СФ.SP11069 =:Док";

ты тут скобку убери или доставь
  
Наверх
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #23 - 24. Апреля 2008 :: 08:38
Печать  
Наткнулся на следующее IDDoc и IDDocDef документа  "  1JST   " и "294"  соответственно,
а ссылка на этот документ в реквизите ДокументОснование "  86  1JST   "
Для частного случая я сделал, может кто подскажет как "294" соотносится с " 86" (с пробелом спереди)
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #24 - 24. Апреля 2008 :: 09:13
Печать  
mov68 писал(а) 24. Апреля 2008 :: 08:38:
Наткнулся на следующее IDDoc и IDDocDef документа  "  1JST   " и "294"  соответственно,
а ссылка на этот документ в реквизите ДокументОснование "  86  1JST   "
Для частного случая я сделал, может кто подскажет как "294" соотносится с " 86" (с пробелом спереди)

чтото из них 36-ричное, наверное
а 294 ты откуда подсмотрел?
  
Наверх
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #25 - 24. Апреля 2008 :: 09:23
Печать  
Цитата:
mov68 писал(а) 24. Апреля 2008 :: 08:38:
Наткнулся на следующее и IDDocDef документа  "  1JST   " и "294"  соответственно,
а ссылка на этот документ в реквизите ДокументОснование "  86  1JST   "
Для частного случая я сделал, может кто подскажет как "294" соотносится с " 86" (с пробелом спереди)

чтото из них 36-ричное, наверное
а 294 ты откуда подсмотрел?


IDDocDef получен в первом запросе, там же где и IDDoc ="  1JST   "
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #26 - 24. Апреля 2008 :: 09:25
Печать  
Спасибо всем за наводки. Для конкретного случая сделал, для универсальности необходимо еще поковыряться
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #27 - 24. Апреля 2008 :: 09:54
Печать  
раз уж индексы все равно никакие не используются, то универсально будет так
WHERE right(СФ.SP11069,9) =:Док
где Док = D

имей ввиду что твой запрос выполняет фулскан таблицы DH11012
  

1&&2&&3
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #28 - 24. Апреля 2008 :: 12:37
Печать  
trad писал(а) 24. Апреля 2008 :: 09:54:
раз уж индексы все равно никакие не используются, то универсально будет так
WHERE right(СФ.SP11069,9) =:Док
где Док = D

имей ввиду что твой запрос выполняет фулскан таблицы DH11012


Спасибо, учту.
Когда говорил про универсальность, имел в первую очередь именно формирование Док, Сейчас:
                   ДокВид="  86"+тзф.ПолучитьЗначение(тзф.НомерСтроки,"D");
     ТоварВид="B1  4C"+зф.SP283+"        ";
     ТекстЗапроса = "
     |SELECT СФС.SP11009 Страна
     |   ,ГТД.DESCR ГТД
     |   ,Жур.DOCNO НомерДок
     |   ,CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаДок
     |FROM _1SJourn Жур  
     |INNER JOIN DH11012 AS СФ on СФ.IDDoc  = Жур.IDDoc
     |INNER JOIN DT11012 AS СФС ON СФ.IDDOC = СФС.IDDOC
     |LEFT OUTER JOIN SC223 AS ГТД ON СФС.SP11010 = ГТД.ID
     |WHERE (СФ.SP11069 = :Док)
     |AND (СФС.SP10995 = :Товар)
     |";

     Запр.УстановитьТекстовыйПараметр("Док",ДокВид);
     Запр.УстановитьТекстовыйПараметр("Товар",ТоварВид);
     З=Запр.ВыполнитьИнструкцию(ТекстЗапроса);

ДокВид, ТоварВид формирую под конкретную базу, посмотрев как там это выглядит, почему "  86" и "B1  4C" даже не спрашивайте, взял как данность, к ним присоединяю iddocdef и ID соответственно
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #29 - 24. Апреля 2008 :: 12:46
Печать  
Чтобы уйти от фулскана, сейчас попробую вытащить Дату и ограничить по ней, к сожалению будет что-то >ДатаНакладной
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #30 - 24. Апреля 2008 :: 12:52
Печать  
а можешь весь свой код выложить? ато чёто въехать не могу.... а ж интересно стало )))
  
Наверх
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #31 - 24. Апреля 2008 :: 12:53
Печать  
trad писал(а) 24. Апреля 2008 :: 09:54:
раз уж индексы все равно никакие не используются, то универсально будет так
WHERE right(СФ.SP11069,9) =:Док
где Док = D

имей ввиду что твой запрос выполняет фулскан таблицы DH11012


Теоретически взяв 9 символов справа можем наткнуться на документ другого вида (Реквизит тип значения: Документ)
  
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #32 - 24. Апреля 2008 :: 12:55
Печать  
Цитата:
а можешь весь свой код выложить? ато чёто въехать не могу.... а ж интересно стало )))


то что есть сейчас
  

__004.rar ( 19 KB | Загрузки )
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #33 - 24. Апреля 2008 :: 12:59
Печать  
Теоретически быстрее и лучше ГТД получать сразу в первом запросе, но не смог толково объединить табличную часть накладной с табличной частью СчетФактуры, см пост выше. Почти стандартная бухгалтерия
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #34 - 24. Апреля 2008 :: 13:00
Печать  
mov68 писал(а) 24. Апреля 2008 :: 12:53:
trad писал(а) 24. Апреля 2008 :: 09:54:
раз уж индексы все равно никакие не используются, то универсально будет так
WHERE right(СФ.SP11069,9) =:Док
где Док = D

имей ввиду что твой запрос выполняет фулскан таблицы DH11012


Теоретически взяв 9 символов справа можем наткнуться на документ другого вида (Реквизит тип значения: Документ)

если :Док это iddoc  то он в таблице журналов уникален
  
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #35 - 24. Апреля 2008 :: 13:03
Печать  
mov68 писал(а) 24. Апреля 2008 :: 12:53:
Теоретически взяв 9 символов справа можем наткнуться на документ другого вида (Реквизит тип значения: Документ)

Нет.
iddoc (9 символов) уникален
  

1&&2&&3
Наверх
 
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #36 - 24. Апреля 2008 :: 13:06
Печать  
Цитата:
mov68 писал(а) 24. Апреля 2008 :: 12:53:
trad писал(а) 24. Апреля 2008 :: 09:54:
раз уж индексы все равно никакие не используются, то универсально будет так
WHERE right(СФ.SP11069,9) =:Док
где Док = D

имей ввиду что твой запрос выполняет фулскан таблицы DH11012


Теоретически взяв 9 символов справа можем наткнуться на документ другого вида (Реквизит тип значения: Документ)

если :Док это iddoc  то он в таблице журналов уникален


Тогда не понятно зачем к нему добавляеся еще тип документа в реквизитах где ТипЗначения Документ, но если уникален, тогда проще, спасибо, остается только понять, для Товара могу аналогично использовать right? Если да, то универсальность получается
  
Наверх
 
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #37 - 24. Апреля 2008 :: 13:33
Печать  
mov68 писал(а) 24. Апреля 2008 :: 13:06:
Цитата:
mov68 писал(а) 24. Апреля 2008 :: 12:53:
trad писал(а) 24. Апреля 2008 :: 09:54:
раз уж индексы все равно никакие не используются, то универсально будет так
WHERE right(СФ.SP11069,9) =:Док
где Док = D

имей ввиду что твой запрос выполняет фулскан таблицы DH11012


Теоретически взяв 9 символов справа можем наткнуться на документ другого вида (Реквизит тип значения: Документ)

если :Док это iddoc  то он в таблице журналов уникален


Тогда не понятно зачем к нему добавляеся еще тип документа в реквизитах где ТипЗначения Документ, но если уникален, тогда проще, спасибо, остается только понять, для Товара могу аналогично использовать right? Если да, то универсальность получается

а вот для товара не получится, т.к. id товара может пересекаться с id другого справочника
  
Наверх
IP записан
 
villy
Senior Member
****
Отсутствует



Сообщений: 287
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #38 - 24. Апреля 2008 :: 14:19
Печать  
mov68 писал(а) 24. Апреля 2008 :: 08:38:
Наткнулся на следующее IDDoc и IDDocDef документа  "  1JST   " и "294"  соответственно,
а ссылка на этот документ в реквизите ДокументОснование "  86  1JST   "
Для частного случая я сделал, может кто подскажет как "294" соотносится с " 86" (с пробелом спереди)

а у тебя во внешней базе есть таблица dh86?

какая длина строки СФ.SP11069?
  
Наверх
IP записан
 
mov68
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 180
Зарегистрирован: 21. Декабря 2007
Re: УстановитьТекстовыйПараметр для неопр реквизит
Ответ #39 - 24. Апреля 2008 :: 14:59
Печать  
Цитата:
mov68 писал(а) 24. Апреля 2008 :: 08:38:
Наткнулся на следующее IDDoc и IDDocDef документа  "  1JST   " и "294"  соответственно,
а ссылка на этот документ в реквизите ДокументОснование "  86  1JST   "
Для частного случая я сделал, может кто подскажет как "294" соотносится с " 86" (с пробелом спереди)

а у тебя во внешней базе есть таблица dh86?

какая длина строки СФ.SP11069?


Такой таблицы нет
СФ.SP11069 13 символов
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать