Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как в колонке макета скд вычесть строки . из предыдущей следующую?

Как в колонке макета скд вычесть строки . из предыдущей следующую?
Я
   1cprog77
 
09.02.20 - 20:26
Как в колонке макета скд вычесть строки . из предыдущей следующую?
   Skipper
 
1 - 09.02.20 - 20:28
Вычислить() в ресурсах пишешь
   1cprog77
 
2 - 09.02.20 - 20:30
(1)сейчас проверим
   1cprog77
 
3 - 09.02.20 - 20:33
acht опять маниак вылез
   Skipper
 
4 - 09.02.20 - 20:35
(ВычислитьВыражение("Среднее(Цена)", , , "Предыдущая", "Предыдущая")
   Skipper
 
5 - 09.02.20 - 20:37
(0) http://catalog.mista.ru/public/1101676/ вот тут хорошо описано
   1cprog77
 
6 - 09.02.20 - 20:38
(5) вот оно как
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ДокументРезультат.Вывести(ОбластьШапкаТаблицы);     
    
    ОбластьСтрока = Макет.ПолучитьОбласть("СтрокаТаблицы");
    //Вывод СТРОК

    ИтогоСуммаПлатежа = 0;
    ИтогоСуммаОплаты = 0;
    ДолгНакопление = 0;
    Для Каждого стр из тзДанные Цикл
        Если стр.ДатаПлатежа > ПараметрыОтчета.ДатаОтчета Тогда
            Продолжить;
        КонецЕсли;     
        ОбластьСтрока.Параметры.Заполнить(стр);    
        ОбластьСтрока.Параметры.ДатаПлатежа = Формат(стр.ДатаПлатежа,"ДЛФ=Д");
        ДолгНакопление = ДолгНакопление - стр.СуммаПлатежа + стр.СуммаОплаты;
        ОбластьСтрока.Параметры.СуммаДолга = ДолгНакопление;
        ДокументРезультат.Вывести(ОбластьСтрока);
        ИтогоСуммаПлатежа = ИтогоСуммаПлатежа + стр.СуммаПлатежа;
        ИтогоСуммаОплаты = ИтогоСуммаОплаты + стр.СуммаОплаты;
    КонецЦикла;    
    
    
    ОбластьИтогТаблицы = Макет.ПолучитьОбласть("ИтогТаблицы");
    ОбластьИтогТаблицы.Параметры.СуммаПлатежа = ИтогоСуммаПлатежа;
    ОбластьИтогТаблицы.Параметры.СуммаОплаты = ИтогоСуммаОплаты;
    ОбластьИтогТаблицы.Параметры.СуммаДолга = ДолгНакопление;
    ДокументРезультат.Вывести(ОбластьИтогТаблицы);
    
    ОстатокСальдо = ИтогоСуммаОплаты-ИтогоСуммаПлатежа;
    ОбластьСальдо = Макет.ПолучитьОбласть("Сальдо");
    Если ОстатокСальдо < 0 Тогда
        ОбластьСальдо = Макет.ПолучитьОбласть("СальдоМинус");
    КонецЕсли;    
    ОбластьСальдо.Параметры.Сальдо = ОстатокСальдо;
    ДокументРезультат.Вывести(ОбластьСальдо);
   Skipper
 
7 - 09.02.20 - 20:45
(6) Что так? Где у тебя тут СКД?
   Skipper
 
8 - 09.02.20 - 20:48
Это какая то невминяемая печатная форма, и СКД тут даже и не пахнет.


Добавь сюда 

ПредыдущееЗначение = 0;
  Для Каждого стр из тзДанные Цикл
        Если стр.ДатаПлатежа > ПараметрыОтчета.ДатаОтчета Тогда
            Продолжить;
        КонецЕсли;     
        

Если ПредыдущееЗначение <> 0 Тогда 
Что то там с переменной............ 
КОнецЕсли;


        ПредыдущееЗначение = стр.Значение;
    

    КонецЦикла;
   Skipper
 
9 - 09.02.20 - 20:49
но если ты спутал СКД и запрос, то бросай, не твое это одинесить
   1cprog77
 
10 - 09.02.20 - 20:52
(9) Процедура ВывестиВОтчетДанные(ПараметрыОтчета, ДокументРезультат, Макет)
    
    тзОС = Новый ТаблицаЗначений;
    тзОС.Колонки.Добавить("ОсновноеСредство");
    тзОС.Колонки.Добавить("Выбыло");
    
    ГрафикДоговораЛизинг = ПолучитьПоследнийГрафикЛизинг(ПараметрыОтчета);
    
    Если ГрафикДоговораЛизинг = Неопределено Тогда
        Возврат;
    КонецЕсли;    
    
    тзДанные = ГрафикДоговораЛизинг.ОсновныеДанные.Выгрузить(,"ДатаПлатежа,СуммаПлатежа");
    тзДанные.Колонки.Добавить("СуммаОплаты", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
    
    Если тзДанные.Количество() = 0 Тогда
        Возврат;
    КонецЕсли;    
    
    ОСВыборка = ПолучитьОсновныеСредства(ПараметрыОтчета);
    Пока ОСВыборка.Следующий() Цикл
        стрОС = тзОС.Добавить();
        стрОС.ОсновноеСредство = ОСВыборка.ОсновноеСредство;
        стрОС.Выбыло = ОСВыборка.ОСВыбыло;
    КонецЦикла;    
    
    ОплатаПрошлыхПериодов = ПолучитьДанныеОплатаПрошлыхПериодов(ПараметрыОтчета,тзОС);
    
    
    Для каждого текстрока из тзДанные Цикл
        Если ОплатаПрошлыхПериодов <= 0 Тогда
            Прервать;
        КонецЕсли;    
        ТекСумма = Мин(ОплатаПрошлыхПериодов,текстрока.СуммаПлатежа); 
        текстрока.СуммаОплаты = ТекСумма;
        ОплатаПрошлыхПериодов = ОплатаПрошлыхПериодов - ТекСумма;
    КонецЦикла;    
    ОплатыВыборка = ПолучитьВсеОплаты(ПараметрыОтчета,тзОС);
    Пока ОплатыВыборка.Следующий() Цикл
        стрОплата = тзДанные.Добавить();
        стрОплата.ДатаПлатежа = ОплатыВыборка.Дата;
        стрОплата.СуммаОплаты = ОплатыВыборка.Сумма;
    КонецЦикла;
    
    ОплатыВозвраты = ПолучитьВсеВозвраты(ПараметрыОтчета, тзОС);
    Пока ОплатыВозвраты.Следующий() Цикл
        стрВозвраты = тзДанные.Добавить();
        стрВозвраты.ДатаПлатежа = ОплатыВозвраты.Дата;
        стрВозвраты.СуммаОплаты = -ОплатыВозвраты.Сумма;
    КонецЦикла;
    
    тзДанные.Свернуть("ДатаПлатежа","СуммаПлатежа,СуммаОплаты");
    тзДанные.Сортировать("ДатаПлатежа");
                   
    //Вывод ШАПКИ

    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ДокументРезультат.Вывести(ОбластьШапкаТаблицы);     
    
    ОбластьСтрока = Макет.ПолучитьОбласть("СтрокаТаблицы");
    //Вывод СТРОК

    ИтогоСуммаПлатежа = 0;
    ИтогоСуммаОплаты = 0;
    ДолгНакопление = 0;
    Для Каждого стр из тзДанные Цикл
        Если стр.ДатаПлатежа > ПараметрыОтчета.ДатаОтчета Тогда
            Продолжить;
        КонецЕсли;     
        ОбластьСтрока.Параметры.Заполнить(стр);    
        ОбластьСтрока.Параметры.ДатаПлатежа = Формат(стр.ДатаПлатежа,"ДЛФ=Д");
        ДолгНакопление = ДолгНакопление - стр.СуммаПлатежа + стр.СуммаОплаты;
        ОбластьСтрока.Параметры.СуммаДолга = ДолгНакопление;
        ДокументРезультат.Вывести(ОбластьСтрока);
        ИтогоСуммаПлатежа = ИтогоСуммаПлатежа + стр.СуммаПлатежа;
        ИтогоСуммаОплаты = ИтогоСуммаОплаты + стр.СуммаОплаты;
    КонецЦикла;    
    
    
    ОбластьИтогТаблицы = Макет.ПолучитьОбласть("ИтогТаблицы");
    ОбластьИтогТаблицы.Параметры.СуммаПлатежа = ИтогоСуммаПлатежа;
    ОбластьИтогТаблицы.Параметры.СуммаОплаты = ИтогоСуммаОплаты;
    ОбластьИтогТаблицы.Параметры.СуммаДолга = ДолгНакопление;
    ДокументРезультат.Вывести(ОбластьИтогТаблицы);
    
    ОстатокСальдо = ИтогоСуммаОплаты-ИтогоСуммаПлатежа;
    ОбластьСальдо = Макет.ПолучитьОбласть("Сальдо");
    Если ОстатокСальдо < 0 Тогда
        ОбластьСальдо = Макет.ПолучитьОбласть("СальдоМинус");
    КонецЕсли;    
    ОбластьСальдо.Параметры.Сальдо = ОстатокСальдо;
    ДокументРезультат.Вывести(ОбластьСальдо);
        
КонецПроцедуры
   1cprog77
 
11 - 09.02.20 - 20:53
acht брызь отсюда
   1cprog77
 
12 - 09.02.20 - 20:57
(9) а добавь сюда .что добавить ?
   1cprog77
 
13 - 09.02.20 - 21:07
(9) ничего я не спутал

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.