|
v7: Запрос | ☑ | ||
---|---|---|---|---|
0
CyberDream
21.10.11
✎
16:47
|
Доброго всем дня. Пятничный вопрос по запросу. Одна и та же процедура, только условия в разных местах:
Вариант1: Процедура Сформировать() Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Счет = Документ.ПриходныйКассовый.Счет; |СуммаВал = Документ.ПриходныйКассовый.СуммаВал; |Субконто1 = Документ.ПриходныйКассовый.Субконто1; |Субконто2 = Документ.ПриходныйКассовый.Субконто2; |ПК = Документ.ПриходныйКассовый.ТекущийДокумент; |Группировка ПК; |Условие(Счет = СчетПоКоду(""3721"")); // |Условие(Субконто1 = ВыбСотрудник); |Условие(ПК.Проведен()=1);"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; СпПриходныхКассовых=СоздатьОбъект("СписокЗначений"); Пока Запрос.Группировка(1) = 1 Цикл Если Запрос.ПК.Субконто1 = ВыбСотрудник Тогда Сообщить("" + Запрос.ПК.Субконто1); КонецЕсли; КонецЦикла; КонецПроцедуры Вариант 2: Процедура Сформировать() Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Счет = Документ.ПриходныйКассовый.Счет; |СуммаВал = Документ.ПриходныйКассовый.СуммаВал; |Субконто1 = Документ.ПриходныйКассовый.Субконто1; |Субконто2 = Документ.ПриходныйКассовый.Субконто2; |ПК = Документ.ПриходныйКассовый.ТекущийДокумент; |Группировка ПК; |Условие(Счет = СчетПоКоду(""3721"")); |Условие(Субконто1 = ВыбСотрудник); |Условие(ПК.Проведен()=1);"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; СпПриходныхКассовых=СоздатьОбъект("СписокЗначений"); Пока Запрос.Группировка(1) = 1 Цикл //Если Запрос.ПК.Субконто1 = ВыбСотрудник Тогда Сообщить("" + Запрос.ПК.Субконто1); //КонецЕсли; КонецЦикла; КонецПроцедуры В первом варианте условие в выборке - !!!работает!!! Во втором варианте условие в запросе - !!!НЕ РАБОТАЕТ!!! (выборка пустая) ПОЧЕМУ ???? П.С.: это база SQL. Выгрузка в ДБФ - работают оба варианта. ТИС не предлагать. |
|||
1
CyberDream
21.10.11
✎
16:48
|
up
|
|||
2
andrewks
21.10.11
✎
16:50
|
с ИспользоватьSQL(0); пробовал?
|
|||
3
filh
21.10.11
✎
16:53
|
>>ТИС не предлагать.
А ЗиК можно предложить? |
|||
4
Cthulhu
21.10.11
✎
16:54
|
1. Нехрен лепить запросы там, где можно обойтись выборкой, причем выборка сработает быстрее, а сам процесс можно оживить, существенно уменьшив уровень тревожности (и происходящее от него ощущение дискомфорта) пользователя.
2. Нехрен ставить условия на реквизиты неопределенного типа/вида. |
|||
5
CyberDream
21.10.11
✎
16:54
|
Запрос.ВключитьSQL(0) Взлетело
|
|||
6
CyberDream
21.10.11
✎
16:54
|
(4) єтот типовая процедура печати авансового отчета, которая не взлетела на SQL базе
|
|||
7
CyberDream
21.10.11
✎
16:56
|
Теперь, господа, просвятите. Почему возникают такие траблы с скулем?
|
|||
8
Cthulhu
21.10.11
✎
16:56
|
(6): что не отменяет уместности (4).
|
|||
9
Cthulhu
21.10.11
✎
16:56
|
(7): становись на колени, святить будем, чудо неразумное.
|
|||
10
viktor_vv
21.10.11
✎
17:00
|
(7) Потому как Субконто1 - тип значения неопределенного типа. В скуле скорее всего условие накладывается прямо в запросе и есстественно не выполняется. В ДБФ скорее всего в постобработке оезультатов запроса.
|
|||
11
filh
21.10.11
✎
17:00
|
(7) Это когда криво написанные запросы на 7.7 не хотят работать под СКЛ
|
|||
12
viktor_vv
21.10.11
✎
17:14
|
(10) Прикольно. В Профайлере условие вообще такое получилось :
and (((DH3694.SP3682 =''''))) Хотя реквизит выбран на форме. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |