|
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С бесполезно :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |