Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
1

Ошибка формирования отчета в СКД: ошибка при попытке вычисления значения агрегатной функции

21.03.2017, 14:35. Показов 5126. Ответов 24
Метки нет (Все метки)

Решая свою задачку, нарыла формулу, в которой вылазит ошибка. И не могу понять..
Вот формула
1C
1
ВЫБОР КОГДА Вычислить("Сумма(ЕСТЬNULL(СуммаВВалютеБюджетаДляИтогов,0))","Бюджет")=0 Тогда 0 Иначе Вычислить("Сумма(ЕСТЬNULL(СуммаВалРасход,0))","Бюджет") /Вычислить("Сумма(ЕСТЬNULL(СуммаВВалютеБюджетаДляИтогов,0)) ", "Бюджет")* 100 Конец
Бюджет - это СправочникСсылка.Бюджеты... Как можно суммировать число и объект справочника? Это вообще можно? Или я что-то не знаю?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2017, 14:35
Ответы с готовыми решениями:

Ошибка при использовании WordApplication для формирования отчета
Программа формирует выходной документ Word, используя для этого данные из таблиц BDE. Выходной...

Ошибка формирования отчета excel, ошибка hresult 0xc800A03ec
использую antiti fremwork Microsoft.Office.Interop.Excel.Application ExcelApp = new...

Проблема формирования отчета СКД
Здравствуйте. Необходим отчет "ЗакупленныйТовар" по поставщику за определённый период. Ни как не...

Ошибка формирования стандартного отчета
УТ 10.3 Толстый клиент. Доброго. Помогите разобраться, сломал всю голову. Стандартный отчет...

24
Эксперт 1С
3050 / 1997 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
21.03.2017, 14:41 2
Тамика, это выражение для вычисляемого поля отчета в СКД?
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 14:45  [ТС] 3
GreenkA, да.

Добавлено через 53 секунды
GreenkA, точнее, это Ресурсы, поле - выражение.
0
Эксперт 1С
3050 / 1997 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
21.03.2017, 14:55 4
Тамика, тогда вы неправильно поняли суть выражения.
Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры:
Выражение. Тип Строка. Содержит вычисляемое выражение;
Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")
В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.

Вообще полезная ссылка - Язык выражений СКД
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:00  [ТС] 5
Цитата Сообщение от GreenkA Посмотреть сообщение
Тамика, есть у меня ощущение, что во втором выражении в знаменателе получается 0, на который делить нельзя. Вот тут: Вычислить("Сумма(ЕСТЬNULL(СуммаВВалютеБюджетаДляИт огов,0)) ", "Бюджет")* 100
Вроде деления на ноль не может быть, потому что есть проверка... Если равно нулю, то возвращает только просто ноль. А иначе уже вычисляет...
0
Эксперт 1С
3050 / 1997 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
21.03.2017, 15:06 6
Тамика, попробуйте отдельно рассчитать два выражения, чтобы понять, в каком из них проблема. Можно создать доп. вычисляемые поля с выражениями
1. Вычислить("Сумма(ЕСТЬNULL(СуммаВВалютеБюджетаДляИт огов,0)) ", "Бюджет")
2. Вычислить("Сумма(ЕСТЬNULL(СуммаВалРасход,0))","Бюд жет")
Либо заменить ваше выражение на одно из этих, потом на другое, проверяя результат выполнения.

Добавлено через 46 секунд
можете выложить отчет или скрины настроек СКД?
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:07  [ТС] 7
GreenkA, хм... Простите за глупость, добавила вычисляемые поля, но они не отображаются в консоле запросов...

Добавлено через 1 минуту
Цитата Сообщение от GreenkA Посмотреть сообщение
можете выложить отчет или скрины настроек СКД?
Именно вкладки Настройки?
0
Эксперт 1С
3050 / 1997 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
21.03.2017, 15:13 8
Тамика, запрос, вкладка Наборы данных, Вычисляемые поля, Ресурсы
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:13  [ТС] 9
GreenkA, и ещё вопрос есть Чем отличается формирование отчёта в 1С Предприятии и через Консоль Запросов? Потому что в консоле запросов всё выполняется, возвращается таблица значений. А вот через Отчёты-СметаРасходов - крэш...
0
Эксперт 1С
3050 / 1997 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
21.03.2017, 15:14 10
отдельно поля СуммаВВалютеБюджетаДляИтогов, СуммаВалРасход выводятся нормально?

Добавлено через 50 секунд
Цитата Сообщение от Тамика Посмотреть сообщение
и через Консоль Запросов
там выполняется только ваш запрос. Выражение, как я поняла, на вкладке Ресурсы в СКД задано?
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:16  [ТС] 11
GreenkA, простите за наглость - отправила на почту. А то здесь очень долго загружать файлы.
0
GreenkA
21.03.2017, 15:19
  #12

Не по теме:

Цитата Сообщение от Тамика Посмотреть сообщение
простите за наглость - отправила на почту.
какую почту?)) Низя так делать! См. правила форума п.4.11.
Вообще все обсуждения в рамках темы на форуме: кому-то может пригодится эта информация, а из-за отсутствующих данных именно здесь - понимание вопроса и, если мы его найдем, решения - не будет.

0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:22  [ТС] 13

Не по теме:

GreenkA, а... Понэл, прошу прощения. :-[


Сейчас выложу сюда.
0
GreenkA
21.03.2017, 15:25
  #14

Не по теме:

Цитата Сообщение от Тамика Посмотреть сообщение
Понэл, прошу прощения.
:D Я все равно не поняла, о какой почте речь и ничего нигде не нашла) Вы куда/кому что отправили?)

0
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:26  [ТС] 15
GreenkA, База.rar
0
Тамика
21.03.2017, 15:27  [ТС]
  #16

Не по теме:

Цитата Сообщение от GreenkA Посмотреть сообщение
Я все равно не поняла, о какой почте речь и ничего нигде не нашла) Вы куда/кому что отправили?)
М...Я перешла на ссылку Вашу Разработка/доработка конфигураций 1С, выполнение курсовых работ и там была.:)

0
Эксперт 1С
3050 / 1997 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
21.03.2017, 15:33 17
Тамика, хорошо. Вы отладкой смотрели? Есть ощущение, что в модуле формы еще много чего есть, о чем вы тут не говорите)
Откройте модуль формы отчета - Ctrl+g - 74. Там ставим точку останова, а выше ищем выражение, о котором речь в ошибке.
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:37  [ТС] 18
GreenkA, отладкой смотрела... Беда в том, что падает здесь
1C
1
ЭтаФорма.СкомпоноватьРезультат(ЭлементыФормы.Результат);
А внутрь не могу залезть.

Не по теме:

з.ы. я? Недоговаривать?:) Ни-ни, могу хоть весь код сбросить. Его тут немного.:)))



Добавлено через 1 минуту
GreenkA, поправьте, если я не права, но строка с ошибкой находится в процедуре приОткрытии(). Я так понимаю, что раз программа крэшится в этой процедуре, то ни в какую дальше процедуру не пойдет. Так ведь?
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Процедура ПриОткрытии()
    Если Не ЗначениеЗаполнено(ДатаНач) И Не ЗначениеЗаполнено(ДатаКон) Тогда
        ДатаНач = НачалоМесяца(ТекущаяДата());
        ДатаКон = ТекущаяДата();
    КонецЕсли;
    
    ДатаЦенПродажи = ТекущаяДата();
    
    ИнициализироватьПараметры();
    
    ЭтаФорма.СкомпоноватьРезультат(ЭлементыФормы.Результат);
    
    ЭлементыФормы.Результат.АвтоМасштаб = Истина;
КонецПроцедуры
Есть ещё ИнициализироватьПараметры(), но там, кажется, тоже ничего плохого. Если нужно - сброшу код.
0
Эксперт 1С
3050 / 1997 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
21.03.2017, 15:42 19

Не по теме:

Цитата Сообщение от Тамика Посмотреть сообщение
з.ы. я? Недоговаривать? Ни-ни, могу хоть весь код сбросить. Его тут немного.))
Верю) я просто предположила;)


А что у вас в других Наборах данных?
1
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
21.03.2017, 15:44  [ТС] 20
GreenkA,
1C
1
2
3
4
5
6
7
8
ВЫБРАТЬ
    мкмРасходыПоБюджетамОстаткиИОбороты.СуммаВалРасход КАК СуммаВалРасходВМесяц,
    мкмРасходыПоБюджетамОстаткиИОбороты.СуммаГрнРасход КАК СуммаГрнРасходВМесяц,
    мкмРасходыПоБюджетамОстаткиИОбороты.Бюджет,
    мкмРасходыПоБюджетамОстаткиИОбороты.СтатьяЗатрат,
    мкмРасходыПоБюджетамОстаткиИОбороты.Период
ИЗ
    РегистрНакопления.мкмРасходыПоБюджетам.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , ) КАК мкмРасходыПоБюджетамОстаткиИОбороты
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
ВЫБРАТЬ
    мкмРасходыПоБюджетамОстаткиИОбороты.Регистратор,
    мкмРасходыПоБюджетамОстаткиИОбороты.Бюджет,
    мкмРасходыПоБюджетамОстаткиИОбороты.СтатьяЗатрат,
    мкмРасходыПоБюджетамОстаткиИОбороты.СуммаГрнПриход КАК СуммаГрнПриходПоРег,
    мкмРасходыПоБюджетамОстаткиИОбороты.СуммаВалПриход КАК СуммаВалПриходПоРег,
    ВЫБОР
        КОГДА мкмРасходыПоБюджетамОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПокупкаПродажаВалюты
            ТОГДА 0
        ИНАЧЕ мкмРасходыПоБюджетамОстаткиИОбороты.СуммаГрнРасход
    КОНЕЦ КАК СуммаГрнРасходПоРег,
    ВЫБОР
        КОГДА мкмРасходыПоБюджетамОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПокупкаПродажаВалюты
            ТОГДА 0
        ИНАЧЕ мкмРасходыПоБюджетамОстаткиИОбороты.СуммаВалРасход
    КОНЕЦ КАК СуммаВалРасходПоРег,
    ВЫБОР
        КОГДА мкмРасходыПоБюджетамОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПокупкаПродажаВалюты
            ТОГДА мкмРасходыПоБюджетамОстаткиИОбороты.СуммаВалРасход
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаВалРасходВал,
    ВЫБОР
        КОГДА мкмРасходыПоБюджетамОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПокупкаПродажаВалюты
            ТОГДА мкмРасходыПоБюджетамОстаткиИОбороты.СуммаГрнРасход
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаГрнРасходВал
ИЗ
    РегистрНакопления.мкмРасходыПоБюджетам.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК мкмРасходыПоБюджетамОстаткиИОбороты
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2017, 15:44
Помогаю со студенческими работами здесь

Часть агрегатной функции. Ошибка
Ребят, подскажите, пожалуйста, что не так в данном выражении: SELECT MAX(НомерЗаказа.Код),...

Ошибка формирования отчета: поле не найдено.
Всем доброе утро! Столкнулась с ошибкой формирования отчёта - Поле не найдено "Поле1". Самое...

1c8 ошибка формирования отчета, помогите разобраться
Пожалуйста помогите разобраться. Вижду что проблема с сиквелом но не знаю в какую сторону копать -...

ОШИБКА в SQL запрос, часть агрегатной функции
Что неправильно ? При вызове запроса "Удостоверение Запрос1" SELECT , ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru