Имя: Пароль:
1C
1C 7.7
v7: Падает платформа при формировании стандартного отчета 1С ПУБ.
,
0 Koliaff
 
23.07.14
07:44
1С 7.7. Платформа 27. ПУБ 334. При формировании стандартного отчета "Отгрузка покупателям" падает платформа без всяких предупреждении и сообщений. В отладчике посмотрел, падает при выполнении запроса. Тестирование и исправление не помогло. Проблема осталась. Привожу текст запроса :

//{{ЗАПРОС(ОтгрузкаТоваров)
Период с ДатаНач;

ОбрабатыватьДокументы Проведенные;
Обрабатывать НеПомеченныеНаУдаление;

ТипХозОпер   = Документ.РеализацияПродукции.ТипХозОперации;

Покупатель   = Документ.РеализацияМатериалов.Контрагент,
               Документ.РеализацияПродукции.Контрагент,
               Документ.РеализацияРаботПоНормам.Контрагент,
               Документ.РеализацияРабот.Контрагент;

Договор      = Документ.РеализацияМатериалов.Договор,
               Документ.РеализацияПродукции.Договор,
               Документ.РеализацияРаботПоНормам.Договор,
               Документ.РеализацияРабот.Договор;

ВалютаЦен    = Документ.РеализацияМатериалов.ВалютаЦен,
               Документ.РеализацияПродукции.ВалютаЦен,
               Документ.РеализацияРаботПоНормам.ВалютаЦен;

Валюта       = Документ.РеализацияМатериалов.Договор.Валюта,
               Документ.РеализацияПродукции.Договор.Валюта,
               Документ.РеализацияРаботПоНормам.Договор.Валюта,
               Документ.РеализацияРабот.Договор.Валюта;

Номенклатура = Документ.РеализацияМатериалов.Товар,
               Документ.РеализацияПродукции.Товар,
               Документ.РеализацияРаботПоНормам.Продукция,
               Документ.РеализацияРабот.Продукция;

Количество   = Документ.РеализацияМатериалов.Количество,
               Документ.РеализацияПродукции.Количество,
               Документ.РеализацияРаботПоНормам.Количество,
               Документ.РеализацияРабот.КоличествоПродукции;
      
Всего        = Документ.РеализацияМатериалов.Всего,
               Документ.РеализацияПродукции.Всего,
               Документ.РеализацияРаботПоНормам.Всего,
               Документ.РеализацияРабот.Всего;

НДС          = Документ.РеализацияМатериалов.НДС,
               Документ.РеализацияПродукции.НДС,
               Документ.РеализацияРаботПоНормам.НДС,
               Документ.РеализацияРабот.НДС;

НП           = Документ.РеализацияМатериалов.НП,
               Документ.РеализацияПродукции.НП,
               Документ.РеализацияРаботПоНормам.НП,
               Документ.РеализацияРабот.НП;

Коэффициент  = Документ.РеализацияМатериалов.ЕдиницаИзмерения.Коэффициент,
               Документ.РеализацияПродукции.ЕдиницаИзмерения.Коэффициент,
               Документ.РеализацияРаботПоНормам.ЕдиницаИзмерения.Коэффициент,
               Документ.РеализацияРабот.ЕдиницаИзмерения.Коэффициент;

Курс            = Документ.РеализацияМатериалов.Курс,
               Документ.РеализацияПродукции.Курс,
               Документ.РеализацияРаботПоНормам.Курс;

Функция Кол      = Сумма(Количество*Коэффициент) когда (Коэффициент <> 0);

Функция КолБезЕИ = Сумма(Количество) когда (Коэффициент = 0);

Функция Сум           = Сумма(Всего-НДС-НП) когда (ВалютаЦен <> 2);
Функция СумПоКурсу    = Сумма((Всего-НДС-НП) * Курс) когда (ВалютаЦен = 2);
Функция СумВал        = Сумма(Всего-НДС-НП) когда (ВалютаЦен = 2);
Функция СумВалПоКурсу = Сумма((Всего-НДС-НП) / Курс) когда ((ВалютаЦен <> 2) и (Курс <> 0));

Условие (ТипХозОпер <> 3);
Группировка Покупатель;Группировка Номенклатура;

=======================================

Может кто сталкивался ? Что делать ? ГБ уже настаивает на работе этого отчета, а я не знаю куда и копать...
1 VladZ
 
23.07.14
07:50
(0) Попробуй функции поотключать. Начни с этой:

Функция СумВалПоКурсу = Сумма((Всего-НДС-НП) / Курс) когда ((ВалютаЦен <> 2) и (Курс <> 0));
2 Koliaff
 
23.07.14
07:52
Есть ещё один отчет в этой же ветке. При его формировании тоже платформа падает. Называется он поступление от поставщиков. Вот его текст :

//{{ЗАПРОС(ПоступлениеТоваров)
Период с ДатаНач;

ОбрабатыватьДокументы Проведенные;
Обрабатывать НеПомеченныеНаУдаление;

Поставщик    = Документ.ПоступлениеТоваров.Контрагент,
               Документ.ПоступлениеМатериалов.Контрагент,
               Документ.ПоступлениеУслуг.Контрагент,
               Документ.ПоступлениеМПЗИмпорт.Контрагент;

Договор      = Документ.ПоступлениеТоваров.Договор,
               Документ.ПоступлениеМатериалов.Договор,
               Документ.ПоступлениеУслуг.Договор,
               Документ.ПоступлениеМПЗИмпорт.Договор;

ВалютаЦен    = Документ.ПоступлениеТоваров.ВалютаЦен,
               Документ.ПоступлениеУслуг.ВалютаЦен;

Валюта       = Документ.ПоступлениеТоваров.Договор.Валюта,
               Документ.ПоступлениеМатериалов.Договор.Валюта,
               Документ.ПоступлениеУслуг.Договор.Валюта,
               Документ.ПоступлениеМПЗИмпорт.Договор.Валюта;
              

Номенклатура = Документ.ПоступлениеТоваров.Товар,
               Документ.ПоступлениеМатериалов.Материал,
               Документ.ПоступлениеУслуг.Услуга,
               Документ.ПоступлениеМПЗИмпорт.Товар;

Курс          = Документ.ПоступлениеТоваров.Курс,
               Документ.ПоступлениеУслуг.Курс;

Количество   = Документ.ПоступлениеТоваров.Количество,
               Документ.ПоступлениеМатериалов.Количество,
               Документ.ПоступлениеУслуг.Количество,
               Документ.ПоступлениеМПЗИмпорт.Количество;

Всего        = Документ.ПоступлениеТоваров.Всего,
               Документ.ПоступлениеМатериалов.Всего,
               Документ.ПоступлениеУслуг.Всего;

Сумма        = Документ.ПоступлениеМПЗИмпорт.Сумма;
ТаможеннаяСтоимость = Документ.ПоступлениеМПЗИмпорт.ТаможеннаяСтоимость;

НДС          = Документ.ПоступлениеТоваров.НДС,
               Документ.ПоступлениеМатериалов.НДС,
               Документ.ПоступлениеУслуг.НДС;

НП           = Документ.ПоступлениеТоваров.НП,
               Документ.ПоступлениеМатериалов.НП,
               Документ.ПоступлениеУслуг.НП;

ЕдИзм        = Документ.ПоступлениеТоваров.ЕдиницаИзмерения,
               Документ.ПоступлениеМатериалов.ЕдиницаИзмерения,
               Документ.ПоступлениеМПЗИмпорт.ЕдиницаИзмерения;

Функция Кол  = Сумма(ПолучитьБазовоеКоличество(Количество,ЕдИзм));

Функция СумИмпортРуб = Сумма(ТаможеннаяСтоимость);
Функция СумИмпортВал = Сумма(Сумма);

Функция Сум           = Сумма(Всего-НДС-НП) когда (ВалютаЦен <> 2);
Функция СумПоКурсу    = Сумма((Всего-НДС-НП) * Курс) когда (ВалютаЦен = 2);
Функция СумВал        = Сумма(Всего-НДС-НП) когда (ВалютаЦен = 2);
Функция СумВалПоКурсу = Сумма((Всего-НДС-НП) / Курс) когда ((ВалютаЦен <> 2) и (Курс <> 0));
Группировка Поставщик;Группировка Номенклатура;
3 Koliaff
 
23.07.14
07:52
(VladZ) Сейчас попробую, не уходи пожалуйста, горю ...
4 Koliaff
 
23.07.14
07:58
(VladZ) Выключил одну функцию СумВалПоКурсу  - ошибка не исчезла, выключил все - теперь запрос выполняется, но как без функций то ? )

Сейчас пытаюсь по одной включать ...
5 Koliaff
 
23.07.14
07:59
Включил функцию Кол - полет нормальный, иду дальше
6 Koliaff
 
23.07.14
08:01
Включил КолБезЕИ, пока летим )
7 Фокусник
 
23.07.14
08:02
(0) Может ТиИ базы сделать?
8 Koliaff
 
23.07.14
08:04
Включил Функцию Сум - платформа не остановилась.
А вот на функции СумПоКурсу - умерла.
Вот текст функции, где происходит страшное :
Функция СумПоКурсу    = Сумма((Всего-НДС-НП) * Курс) когда (ВалютаЦен = 2);
9 Koliaff
 
23.07.14
08:05
(Фокусник) ТиИ делал со всеми галочками. Забыл сказать - база SQL.
10 Koliaff
 
23.07.14
08:06
Для наглядности напишу две функции вместе :

===========

Функция Сум           = Сумма(Всего-НДС-НП) когда (ВалютаЦен <> 2);
Функция СумПоКурсу    = Сумма((Всего-НДС-НП) * Курс) когда (ВалютаЦен = 2);

==============
Сум - вычисляется платформой нормально, а вот СумПоКурсу - не выдерживает ..
11 dangerouscoder
 
23.07.14
08:07
Перепиши на прямой запрос.
12 ДенисЧ
 
23.07.14
08:08
.ВключитьSQL(0) сделай
13 Koliaff
 
23.07.14
08:09
(dangerouscoder) Я не работал с прямыми запросами, нет у меня опыта .... Разбираться очень долго прийдется.

(ДенисЧ) Это что за метод такой ?
14 ДенисЧ
 
23.07.14
08:11
(13) А ты попробуй. Потом сходи в гугель
15 Koliaff
 
23.07.14
08:12
(ДенисЧ) К чему этот метод применять ? к запросу ?
16 Koliaff
 
23.07.14
08:13
Убрал из всех функции умножение и деление на курс, запрос и отчет заработал.
17 ДенисЧ
 
23.07.14
08:13
(15) А что, это не очевидно? :-))
18 Koliaff
 
23.07.14
08:14
Всем спасибо, особенно (VladZ) :)

Вопрос закрыт.
19 Koliaff
 
23.07.14
08:17
Запрос.ВключитьSQL(0) - Работает !!!
Спасибо ДенисЧ
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой