Имя: Пароль:
1C
1С v8
ВычислитьВыражение() в СКД
0 AntonNo Professional
 
24.12.19
09:53
Добрый день. У меня отказывается выводиться значение колонки в общем итоге. Есть "начальный остаток", "оборот", "конечный остаток" - это колонки в отчете. Применяю для Начального и Конечного остатков во вкладке "Ресурсы" Выражение:
"ВычислитьВыражение("Максимум(СуммаНачальныйОстаток)",,,, "Последняя")" и ВычислитьВыражение("Максимум(СуммаКонечныйОстаток)",,,, "Последняя") соответственно. Рассчитывать по Общий итог. В итоге по колонке конечный остаток значение выводится, а по колонке начальный остаток - нет. В чем причина не пойму. Помогите, пожалуйста, разобраться.
1 toypaul
 
гуру
24.12.19
09:55
давай фото со страницы настройки, страницы ресурсы

результат, и что не устраивает, какой надо результат
2 Momus
 
24.12.19
10:01
В одной из строк колонки СуммаНачальныйОстаток null не может быть? Или СуммаНачальныйОстаток и СуммаКонечныйОстаток - это ресурсы одного регистра? Мб есть какие-нибудь левые соединения.
3 AntonNo Professional
 
24.12.19
10:04
Как прикрепить сюда фото?
4 AntonNo Professional
 
24.12.19
10:05
(2) ВЫБРАТЬ
    ДенежныеСредстваНаличныеОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда,
    //Максимум(ДенежныеСредстваНаличныеОстаткиИОбороты.ПериодСекунда) КАК МаксПериод,
    ДенежныеСредстваНаличныеОстаткиИОбороты.Регистратор КАК Регистратор,
    ЕСТЬNULL(ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаНачальныйОстаток, 0) КАК СуммаНачальныйОстаток,
    ЕСТЬNULL(ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаКонечныйОстаток, 0) КАК СуммаКонечныйОстаток,
    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаОборот КАК СуммаОборот,
    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаПриход КАК СуммаПриход,
    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаРасход КАК СуммаРасход,
    ЕСТЬNULL(ДенежныеСредстваНаличные.СтатьяДвиженияДенежныхСредств, ЗНАЧЕНИЕ(Справочник.СтатьиДвиженияДенежныхСредств.ПустаяСсылка)) КАК СтатьяДвиженияДенежныхСредств,
    ВЫБОР
        КОГДА ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаПриход <> 0 И ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаРасход = 0
        ТОГДА "+"
        ИНАЧЕ
            ВЫБОР
                КОГДА ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаРасход <> 0 И ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаПриход = 0
                ТОГДА "-"
                ИНАЧЕ ""
            КОНЕЦ
    КОНЕЦ КАК ВидДвижения
ИЗ
    РегистрНакопления.ДенежныеСредстваНаличные.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, Движения, ) КАК ДенежныеСредстваНаличныеОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДенежныеСредстваНаличные КАК ДенежныеСредстваНаличные
        ПО (ДенежныеСредстваНаличныеОстаткиИОбороты.Регистратор = ДенежныеСредстваНаличные.Регистратор)
//СГРУППИРОВАТЬ ПО
//    ДенежныеСредстваНаличныеОстаткиИОбороты.ПериодСекунда,
//    ДенежныеСредстваНаличныеОстаткиИОбороты.Регистратор,
//    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаНачальныйОстаток,
//    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаКонечныйОстаток,
//    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаОборот,
//    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаПриход,
//    ДенежныеСредстваНаличныеОстаткиИОбороты.СуммаРасход,
//    ДенежныеСредстваНаличные.СтатьяДвиженияДенежныхСредств
5 toypaul
 
гуру
24.12.19
10:05
сюда никак. клади в другое место и ссылки давай
6 AntonNo Professional
 
24.12.19
10:07
7 AntonNo Professional
 
24.12.19
10:09
(1) там в колонке Начальный остаток итог не заполняется
8 AntonNo Professional
 
24.12.19
10:14
УТ 11, если что
9 AntonNo Professional
 
24.12.19
10:17
(5) перезалил https://transfiles.ru/hu4rr
10 AntonNo Professional
 
24.12.19
10:27
(2) Если СуммаНачальныйОстаток и СуммаКонечныйОстаток - это ресурсы одного регистра, тогда в чем ошибка?
11 toypaul
 
гуру
24.12.19
10:28
я вроде все по-русски написал какие картинки надо было
12 AntonNo Professional
 
24.12.19
10:31
(11) извиняюсь, не внимательно читаю вот https://transfiles.ru/chd8m
13 toypaul
 
гуру
24.12.19
10:31
как направление для полета мысли могу дать выдержку из хелпа для функции ВВ (своими словами)

если группировка для расчета не указана, то расчет ведется для текущей группировки. и что мы имеем для группировки общий итог? это будет одна запись с начальным остатком как в первой детальной записи. ну и ясно дело что в этом случае выдаст Максимум. все работает ровно так как должно.

поэтому перечитываем (1) и делаем то, что там написано
14 AntonNo Professional
 
24.12.19
10:33
(13) Ясно дело, что работает все как и должно. Я же что-то не так делаю)
15 toypaul
 
гуру
24.12.19
10:34
(14) дэк какой начальный остаток ты хочешь получить-то? из какой записи?
16 AntonNo Professional
 
24.12.19
10:35
(15) Последний, т. е. на максимальную дату регистратора за период отчета
17 toypaul
 
гуру
24.12.19
10:37
(16) тогда попробуй определить вычисляемое поле ПоследнийНачальныйОстаток с выражением

ВычислитьВыражение("СуммаНачальныйОстаток",,,, "Последняя") не ресурс, а именно вычисляемое поле. и для общего итога

сделай формулу СуммаНачальныйОстаток = ПоследнийНачальныйОстаток
18 toypaul
 
гуру
24.12.19
10:40
если не поможет, то попробовать на закладе ресурсы вычислить как

ВычислитьВыражение("СуммаНачальныйОстаток","Регистратор",,, "Последняя")

или так

ВычислитьВыражение("СуммаНачальныйОстаток","Регистратор","ОбщийИтог",, "Последняя")
19 AntonNo Professional
 
24.12.19
10:43
(17) не помогло
20 AntonNo Professional
 
24.12.19
10:45
(18) неа, что-то тут подвох где-то
21 AntonNo Professional
 
24.12.19
10:46
Дело в том, что для конечного остатка, выражение "ВычислитьВыражение("Максимум(СуммаКонечныйОстаток)",,,, "Последняя")" работает, а для начального почему нет?
22 toypaul
 
гуру
24.12.19
10:47
придется самому пробовать ... но я есс-но на более простом примере
23 toypaul
 
гуру
24.12.19
10:47
(21) я написал почему. какая буква из написанного не понятна?
24 AntonNo Professional
 
24.12.19
10:49
(23) Мысли вслух прост
25 toypaul
 
гуру
24.12.19
11:15
неа. не выходит аленький цветочек
26 toypaul
 
гуру
24.12.19
11:27
если будет группировка только по регистратору - тогда работает.

если первый уровень группировка по дате (день как я понял), то не работает.

нельзя вычислить в этом случае для общего итога итог по регистратору. что-то тут связанное с составом группировок по периоду
27 toypaul
 
гуру
24.12.19
11:28
то есть последний начальный остаток для Дата - считает. для регистратора не считает.

какая-то особенность связанная с расчетом по периодам.
28 toypaul
 
гуру
24.12.19
11:28
даже можно так проверить - в текущие настройки добавить группировку по регистратору (отдельно) и получим сообщение об ошибке
29 AntonNo Professional
 
24.12.19
11:53
(28) Будем думать
Основная теорема систематики: Новые системы плодят новые проблемы.