К списку форумов К списку вопросов
1С+MSSQL
IgorMan2
29.06.2004 - 10:30
Я нашел почему не работает запрос с условием.
Там не правильно формируется sql запрос.
Что мне делать?
jarett
1 - 29.06.2004 - 10:31
Судя по умению задавать вопросы сначала нужно прочитать правила форума.
Gloom
2 - 29.06.2004 - 10:32
Можно позвонить в средства массовой информации, например...
SergAnt
3 - 29.06.2004 - 10:35
Дружище, ну скажи пожалуйста - почему не работает запрос с условием?
SergAnt
4 - 29.06.2004 - 10:37
И какой именно запрос формируется
БЖ
5 - 29.06.2004 - 10:41
0 связаться с представительством MS в москве и заявить о новом баге, перед этим за месяц, примерно, связаться с какой-нибудь хакерской группой и слить им инфу о новом баге, чтоб они написали какую-нибудь приблуду типа сламера, и спрятаться от фсб как автор нового виря.
de Bugger
6 - 29.06.2004 - 10:47
Перепиши запрос по-другому. И расскажи всем что за баг в запросе. Интересно ведь.
Славко
7 - 29.06.2004 - 11:03
(0) а может наоборот? ты неправильно в 1С его пишешь а вот в MSSQL он формируется правильно по всем правилам языка запросов? (прошу не путать с языком запросов в 1С)
БЖ
8 - 29.06.2004 - 11:31
7, как ты мог подумать такое, не видишь он же умный, ещё и априори думает, что тут телепаты. Значит и сам телепат, понимаешь.
IgorMan2
9 - 29.06.2004 - 11:38
Как вы могли подумать что не правильно работает MSSQL ????
Ёбстественно не правильно работает конвертер 1C -> MSSQL.
Пишу запрос ....
  ТекстЗапроса =
  "//{{ЗАПРОС(Сформировать)
  |Период с ВыбНачПериода по ВыбКонПериода;
  |Обрабатывать НеПомеченныеНаУдаление;
  |АЗС = Документ.Выписка.АЗС;
  |Приход = Документ.Выписка.Приход;
  |Субконто1 = Документ.Выписка.Субконто1;
  |Функция ПриходСумма = Сумма(Приход);
  |Группировка АЗС без Групп;
  |Условие(Субконто1 = Сбербанк);
  |"//}}ЗАПРОС
Соответственно его интерпритация в SQL:
select max(SC488.DESCR), max(SC488.PARENTID),DT3303.SP21441,
sum(DT3303.SP3306 ), min(DT3303.SP3306 ), min(DT3303.SP3309 )
from _1SJOURN(NOLOCK)
left outer join DT3303(NOLOCK) on _1SJOURN.IDDOC=DT3303.IDDOC
left outer join SC488(NOLOCK) on DT3303.SP21441=SC488.ID
where _1SJOURN.IDDOCDEF = 3303 and
_1SJOURN.DATE_TIME_IDDOC >= ''20040601 0 0 '' and
_1SJOURN.DATE_TIME_IDDOC <= ''20040630FHML6O 0 '' and
_1SJOURN.CLOSED&1 = 1 and _1SJOURN.ISMARK = 0 and
(((DT3303.SP3309 ='''')))
group by DT3303.SP21441
(((DT3303.SP3309 =''''))) - вот эта вот строчка меня бесит. при любом подставлении в 1С условия, все равно формирует именно пустые ковычки
SnarkHunter
10 - 29.06.2004 - 11:39
Интересно было бы узнать что есть Сбербанк....
Славко
11 - 29.06.2004 - 11:39
|Условие(Субконто1.Код = Сбербанк.Код);
а так?
de Bugger
12 - 29.06.2004 - 11:41
Покажи, откуда у тебя значение прерменной "Сбербанк" берется
IgorMan2
13 - 29.06.2004 - 11:42
Сбербанк - переменная на форме. Справочник.Контрагенты
IgorMan2
14 - 29.06.2004 - 11:46
(1)Екартый бабай. Работает. Славко ты ГЕНИЙ.
SnarkHunter
15 - 29.06.2004 - 11:46
Дело таки было в прокладке...
LDR
16 - 29.06.2004 - 11:47
скорей всего внешняя переменная.
я сам в запросах пишу до идиотической простоты. сколько уже было, что один и тот же запрос в DBF работает, а в SQL не работает. или например работает в 6.5 или 7.0, но не работает в 2000-й.
IgorMan2
17 - 29.06.2004 - 11:48
Sorry
(11)Екартый бабай. Работает. Славко ты ГЕНИЙ.
toypaul
18 - 29.06.2004 - 11:50
(14) хм...такой код означает, что 1С-ка выбирает данные по всем субконто и потом на клиенте производит отбор по субконто.
Славко
19 - 29.06.2004 - 11:50
да нет, я не гений, причину те объяснили в (7+10)...
IgorMan2
20 - 29.06.2004 - 11:58
Кстати, я так и не понял что случилось с точки зрения MSSQL там вместо одного запроса стала куча запросов, а условие "(((DT3303.SP3309 ='''')))" вообще исчезло!
Славко
21 - 29.06.2004 - 12:01
у тя в условии участвовала ссылка ссылка на объект, а в (11) уже реквизит объекта, т.е. сам объект...
IgorMan2
22 - 29.06.2004 - 12:07
Ну спасибо. Буду знать.

К списку вопросов на форуме 1C

>>