|   |   | 
| 
 | v7: Суммировать итог таблицы | ☑ | ||
|---|---|---|---|---|
| 0
    
        work92 16.04.13✎ 10:23 | 
        Процедура Сформировать()
  Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Реестр"); Таб.ВывестиСекцию("Шапка"); Спр=СоздатьОбъект ("Справочник.ВариантыРасчетаНалогов"); Док = СоздатьОбъект("Документ.ОказаниеУслуг"); Спр.НайтиПоНаименованию("НДС сверху 0%",1); НАЛТек=Спр.ТекущийЭлемент(); Док.ВыбратьДокументы(НачДата,КонДата); Пока Док.ПолучитьДокумент() = 1 Цикл Если Док.ВариантРасчетаНалогов=НАЛТек Тогда Если Док.Проведен()=1 Тогда Иначе Продолжить; КонецЕсли; ИтогоВыручки=0; ИтогоСумма=0; Контрагент = Док.Контрагент; Договор = Док.Договор; СМР = Док.СМР; Маршрут = Док.Маршрут; ДатаУслуг = Док.ДатаДок; Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() =1 Цикл Если ПустоеЗначение(Док.Договор.ВалютаДоговора) = 1 Тогда Сумма= Док.Сумма; Выручка = Док.Выручка; Иначе Сумма = Док.Сумма*Док.Курс; Выручка = Док.Выручка; КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; ИтогоСумма=ИтогоСумма+Сумма; ИтогоВыручки=ИтогоВыручки+Выручка; Таб.ВывестиСекцию("Итог"); //Таб.ВывестиСекцию("Шапка"); //ВыбратьСтроки(); //Пока ПолучитьСтроку()=1 Цикл // Таб.ВывестиСекцию("Строка"); //КонецЦикла; //Итого = Итог("Выручка"); //Таб.ВывестиСекцию("Подвал"); Таб.ПараметрыСтраницы(2,,0,10,10,5,20,,,1); Таб.Опции(0,0,0,0,"ОпцииПечатиРеал","ОкноРеал"); Таб.ТолькоПросмотр(1); Таб.Показать("Печать реестра",""); КонецПроцедуры | |||
| 1
    
        Godofsin 16.04.13✎ 10:23 | 
        оценил, ага     | |||
| 2
    
        work92 16.04.13✎ 10:24 | 
        Куда впихнуть чтобы выдовало итоговую сумму
  ИтогоСумма=ИтогоСумма+Сумма; ИтогоВыручки=ИтогоВыручки+Выручка; | |||
| 3
    
        Godofsin 16.04.13✎ 10:27 | 
        (2) Впихнуть можешь проститутке, а ИтогоСумма и ИтогоВыручки выведи как параметры в секции Итог     | |||
| 4
    
        vinogradъ 16.04.13✎ 10:28 | 
        (2) сам как думаешь?     | |||
| 5
    
        work92 16.04.13✎ 10:29 | 
        если можна на примере     | |||
| 6
    
        work92 16.04.13✎ 10:32 | 
        ИтогоСумма выдает сумму последней ячейки таблица сумма     | |||
| 7
    
        vinogradъ 16.04.13✎ 10:32 | 
        (6) да ладно     | |||
| 8
    
        work92 16.04.13✎ 10:34 | 
        vinogradъ есть ответ     | |||
| 9
    
        Builder 16.04.13✎ 10:34 | 
        (0) Жесть, запросы изучить никак?
  Как же так можно писать программы то.... А на примере как то так Сумма= Док.Сумма; ИтогоСумма=ИтогоСумма+Сумма; А еще можно вот так, без перебора строк. ИтогоСумма = Док.Итог("Сумма"); А еще правильнее сделать запрос. | |||
| 10
    
        palpetrovich 16.04.13✎ 10:41 | 
        (2) впихни эти строки в цикл по строкам
  (9) при определенном условии :) | |||
| 11
    
        work92 16.04.13✎ 10:50 | 
        Выводит не итоговую сумму а число последней ячейки таблицы
  ИтогоСумма=ИтогоСумма+Сумма; ИтогоВыручки=ИтогоВыручки+Выручка; //******************************************* Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Реестр"); Таб.ВывестиСекцию("Шапка"); Спр=СоздатьОбъект ("Справочник.ВариантыРасчетаНалогов"); Док = СоздатьОбъект("Документ.ОказаниеУслуг"); Спр.НайтиПоНаименованию("НДС сверху 0%",1); НАЛТек=Спр.ТекущийЭлемент(); Док.ВыбратьДокументы(НачДата,КонДата); Пока Док.ПолучитьДокумент() = 1 Цикл Если Док.ВариантРасчетаНалогов=НАЛТек Тогда Если Док.Проведен()=1 Тогда Иначе Продолжить; КонецЕсли; ИтогоВыручки=0; ИтогоСумма=0; Контрагент = Док.Контрагент; Договор = Док.Договор; СМР = Док.СМР; Маршрут = Док.Маршрут; ДатаУслуг = Док.ДатаДок; Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() =1 Цикл Если ПустоеЗначение(Док.Договор.ВалютаДоговора) = 1 Тогда Сумма= Док.Сумма; Выручка = Док.Выручка; Иначе Сумма = Док.Сумма*Док.Курс; Выручка = Док.Выручка; КонецЕсли; ИтогоСумма=ИтогоСумма+Сумма; ИтогоВыручки=ИтогоВыручки+Выручка; КонецЦикла; Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Таб.ВывестиСекцию("Итог"); Таб.ПараметрыСтраницы(2,,0,10,10,5,20,,,1); Таб.Опции(0,0,0,0,"ОпцииПечатиРеал","ОкноРеал"); Таб.ТолькоПросмотр(1); Таб.Показать("Печать реестра",""); КонецПроцедуры | |||
| 12
    
        work92 16.04.13✎ 10:51 | 
        palpetrovich в какой цикл напиши в коде     | |||
| 13
    
        palpetrovich 16.04.13✎ 11:04 | 
        (12)
  ИтогоВыручки=0; ИтогоСумма=0; перенеси в строку перед первым циклом | |||
| 14
    
        пипец 16.04.13✎ 11:05 | 
        Если ПустоеЗначение(Док.Договор.ВалютаДоговора) = 1 Тогда
  Сумма= Док.Сумма; Выручка = Док.Выручка; Иначе Сумма = Док.Сумма*Док.Курс; Выручка = Док.Выручка; КонецЕсли; ИтогоСумма=ИтогоСумма+Сумма; ИтогоВыручки=ИтогоВыручки+Выручка; ЗЫ просто жесть ;)) | |||
| 15
    
        Builder 16.04.13✎ 11:17 | 
        Судя по точно такой же ветке автора
  Сумировать значение дока дальнейшее объяснение принципов работы 1С бесполезно :) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |