|
v7: 1c v7 sql вылетает при выполнении типового отчета поступления от поставщиков | ☑ | ||
---|---|---|---|---|
0
aptomilov
04.10.11
✎
10:25
|
Привет всем, почему может вылетать типовой отчет, отследил - вылетает при исполнении запроса. Расчеты с поставщиками не вылетает.
|
|||
1
Ёпрст
04.10.11
✎
10:28
|
чего в логах то хоть ?
чего за запрос ? |
|||
2
aptomilov
04.10.11
✎
10:30
|
запрос - ничего особенного
пугает что он типовой |
|||
3
Попытка1С
04.10.11
✎
10:34
|
ВключитьSQL = 1 ?
|
|||
4
Попытка1С
04.10.11
✎
10:35
|
Точнее так ВключитьSQL(1)
|
|||
5
aptomilov
04.10.11
✎
10:37
|
а чо дает данная функция я про такую не слыхал както
|
|||
6
Попытка1С
04.10.11
✎
10:39
|
ВключитьSQL
Синтаксис: Объект.ВключитьSQL(парам) Параметры: Объект - объект типа Запрос или Регистр. Парам - число 0 или 1. Назначение: Включает или выключает обработку запросов, с использованием SQL технологий или по более простому варианту. Не факт что тебе поможет, но всетаки.. |
|||
7
aptomilov
04.10.11
✎
10:43
|
уже нашел 2 типовых отчета которые вылетают((
|
|||
8
aptomilov
04.10.11
✎
10:48
|
волшебная строчка не помогла ((
|
|||
9
aptomilov
04.10.11
✎
10:51
|
собственно вот и запрос :
//{{ЗАПРОС(ПоступлениеТоваров) Период с ДатаНач; ОбрабатыватьДокументы Проведенные; Обрабатывать НеПомеченныеНаУдаление; Поставщик = Документ.ПоступлениеТоваров.Контрагент, Документ.ПоступлениеМатериалов.Контрагент, Документ.ПоступлениеУслуг.Контрагент, Документ.ПоступлениеМПЗИмпорт.Контрагент; Договор = Документ.ПоступлениеТоваров.Договор, Документ.ПоступлениеМатериалов.Договор, Документ.ПоступлениеУслуг.Договор, Документ.ПоступлениеМПЗИмпорт.Договор; ВалютаЦен = Документ.ПоступлениеТоваров.ВалютаЦен, Документ.ПоступлениеУслуг.ВалютаЦен; Валюта = Документ.ПоступлениеТоваров.Договор.Валюта, Документ.ПоступлениеМатериалов.Договор.Валюта, Документ.ПоступлениеУслуг.Договор.Валюта, Документ.ПоступлениеМПЗИмпорт.Договор.Валюта; Номенклатура = Документ.ПоступлениеТоваров.Товар, Документ.ПоступлениеМатериалов.Материал, Документ.ПоступлениеУслуг.Услуга, Документ.ПоступлениеМПЗИмпорт.Товар; Курс = Документ.ПоступлениеТоваров.Курс, Документ.ПоступлениеУслуг.Курс; Количество = Документ.ПоступлениеТоваров.Количество, Документ.ПоступлениеМатериалов.Количество, Документ.ПоступлениеУслуг.Количество, Документ.ПоступлениеМПЗИмпорт.Количество; Всего = Документ.ПоступлениеТоваров.Всего, Документ.ПоступлениеМатериалов.Всего, Документ.ПоступлениеУслуг.Всего; Сумма = Документ.ПоступлениеМПЗИмпорт.Сумма; ТаможеннаяСтоимость = Документ.ПоступлениеМПЗИмпорт.ТаможеннаяСтоимость; НДС = Документ.ПоступлениеТоваров.НДС, Документ.ПоступлениеМатериалов.НДС, Документ.ПоступлениеУслуг.НДС; НП = Документ.ПоступлениеТоваров.НП, Документ.ПоступлениеМатериалов.НП, Документ.ПоступлениеУслуг.НП; ЕдИзм = Документ.ПоступлениеТоваров.ЕдиницаИзмерения, Документ.ПоступлениеМатериалов.ЕдиницаИзмерения, Документ.ПоступлениеМПЗИмпорт.ЕдиницаИзмерения; Функция Кол = Сумма(ПолучитьБазовоеКоличество(Количество,ЕдИзм)); Функция СумИмпортРуб = Сумма(ТаможеннаяСтоимость); Функция СумИмпортВал = Сумма(Сумма); Функция Сум = Сумма(Всего-НДС-НП) когда (ВалютаЦен <> 2); Функция СумПоКурсу = Сумма((Всего-НДС-НП) * Курс) когда (ВалютаЦен = 2); Функция СумВал = Сумма(Всего-НДС-НП) когда (ВалютаЦен = 2); Функция СумВалПоКурсу = Сумма((Всего-НДС-НП) / Курс) когда ((ВалютаЦен <> 2) и (Курс <> 0)); Группировка Поставщик;Группировка Номенклатура; |
|||
10
aptomilov
04.10.11
✎
11:02
|
для интереса сравнил скорость выполнения на 10 сек шустрее правда))
|
|||
11
aptomilov
04.10.11
✎
11:05
|
у кого нить уже была такая проблема кто как решал ?
|
|||
12
Ёпрст
04.10.11
✎
11:09
|
(9) это не типовой отчет, а рукописный.
|
|||
13
aptomilov
04.10.11
✎
11:25
|
ну подправленный может, я не трогал))
как думаете что может не нравиться скулю |
|||
14
AeDen
04.10.11
✎
11:26
|
функции по одной комментируй и проверяй
подозреваю, что где-то на этапе Функция Кол = Сумма(ПолучитьБазовоеКоличество(Количество,ЕдИзм)); |
|||
15
AeDen
04.10.11
✎
11:27
|
кстати,в получении базового количества что есть?
|
|||
16
Ёпрст
04.10.11
✎
11:28
|
(13) типовых отчетов по документом не бывает. Тем более таких, где на ноль делят в вычислении функции :
Функция СумВалПоКурсу = Сумма((Всего-НДС-НП) / Курс) |
|||
17
aptomilov
04.10.11
✎
11:31
|
будем оптимизировать, о результатах отпишу)
|
|||
18
aptomilov
04.10.11
✎
11:40
|
Функция СумПоКурсу = Сумма((Всего-НДС-НП) * Курс) когда (ВалютаЦен = 2);
Функция СумВалПоКурсу = Сумма((Всего-НДС-НП) / Курс) когда ((ВалютаЦен <> 2) и (Курс <> 0)); спасибо всем - вот эти 2 функции и портят всю картину)) |
|||
19
Ёпрст
04.10.11
✎
11:41
|
(18) деление на 0, че ты хотел ?
|
|||
20
aptomilov
04.10.11
✎
11:43
|
в первой то нет деления
|
|||
21
aptomilov
04.10.11
✎
11:43
|
первая ему тогда что не нравится
|
|||
22
ЧеловекДуши
04.10.11
✎
11:45
|
(21)Каким образом ты решил, что все дело в первой?
|
|||
23
AeDen
04.10.11
✎
11:46
|
потому-что пустое значение - это не 0. А 0 - это не пустое значение.
|
|||
24
ЧеловекДуши
04.10.11
✎
11:47
|
+ (0)Автор в чем разница в этих двух строках из запроса?
Номенклатура = Документ.ПоступлениеТоваров.Товар, Документ.ПоступлениеМатериалов.Материал, Документ.ПоступлениеУслуг.Услуга, Документ.ПоступлениеМПЗИмпорт.Товар; И в этом Курс = Документ.ПоступлениеТоваров.Курс, Документ.ПоступлениеУслуг.Курс; Думай... думать полезно... :) |
|||
25
aka AMIGO
04.10.11
✎
11:48
|
(4) - в случае ТС лучше ВключитьSQL(0);
|
|||
26
aptomilov
04.10.11
✎
11:53
|
ЧеловекДуши, дело во 5 и 7 функциях - комментировал и запускал , 1С вылетает только когда 5 и 7 функции (сверху вниз)раскоментированны, в остальных случаях вываливается с ошибкой
|
|||
27
Ёпрст
04.10.11
✎
11:55
|
(26) ты курс смотришь у 2-х документов, у 2-х остальных он = нулл, если что.
Вот и валится 1с-ина от твоего кода при вычеслении функции. см. (24) |
|||
28
aka AMIGO
04.10.11
✎
11:55
|
(26) попробуй, однако:
ВключитьSQL(0); |
|||
29
aptomilov
04.10.11
✎
12:02
|
aka AMIGO, не помогат
|
|||
30
aptomilov
04.10.11
✎
12:03
|
aka AMIGO, ура помогло теперь деление на ноль игнорируется
|
|||
31
aptomilov
04.10.11
✎
12:04
|
проблема значит была в лишних скобках
|
|||
32
aka AMIGO
04.10.11
✎
12:04
|
(29) ((
а нельзя-ли функции перенести в цикл после выполнения запроса? |
|||
33
aka AMIGO
04.10.11
✎
12:06
|
(30) а, ну и хорошо..
|
|||
34
aptomilov
04.10.11
✎
12:07
|
можно канешно но лезть неохото да и смысл переходим на 8 ку
|
|||
35
aptomilov
04.10.11
✎
12:12
|
aka AMIGO.. так может и от скобок должно было помоч???
|
|||
36
aka AMIGO
04.10.11
✎
12:15
|
(35) не могу сказать..
одно известно: функции в запросе, при применении этой недокументированной фичи, считаются по-другому.. не используется механизм SQL, кажется так.. |
|||
37
aptomilov
04.10.11
✎
12:18
|
прикольно испытаем на другом отчете )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |