|
v7: Итог по столбцу табличной части! | ☑ | ||
---|---|---|---|---|
0
Luffy
22.01.16
✎
12:09
|
Ребята подскажите пожалуйста, как посчитать итог табличной части из четырех столбцов, и записать итоги в четыре поля ввода, которые располагаются ниже табличной части.
Док = СоздатьОбъект("Документ.Запрос"); Док.НайтиПоНомеру(1); Док.НоваяСтрока(); Док.НачОстД = ПечНачОстД; Док.ПриходД = ПечПриходД; Док.РасходД = ПечРасходД; Док.КончОстД = ПечКонОстД; Док.Записать(); |
|||
1
DDwe
22.01.16
✎
12:16
|
(0) "посчитать итог табличной части из четырех столбцов, и записать итоги в четыре поля ввода, которые располагаются ниже табличной части. "
|
|||
2
Масянька
22.01.16
✎
12:17
|
(1) Переверни (С) :))))))))))))
|
|||
3
ДенисЧ
22.01.16
✎
12:17
|
Продам описание метода Итог()
|
|||
4
GROOVY
22.01.16
✎
12:18
|
(3) Ты уже раздербанил СП и постранично продаешь?
|
|||
5
ДенисЧ
22.01.16
✎
12:18
|
(4) ну дык кризис... На полный у людей денег не хватает ))
|
|||
6
aka AMIGO
22.01.16
✎
12:23
|
(0) Ну, что молчишь? Сообразил? Ответ в (3), без первых трёх слов :)
|
|||
7
DDwe
22.01.16
✎
12:24
|
(2) В вода поля четыре, ниже табличной части лежащих
Итог по столбцам четырем запиши, ты |
|||
8
aka AMIGO
22.01.16
✎
12:26
|
(6)+ ИтогВПолеВВодаНачОстД = Док.Итог("НачОстД"); // здесь в скобко-кавычках - имя реквизита ТЧ
(7) Внезапно получились стихи :) |
|||
9
Garykom
гуру
22.01.16
✎
12:31
|
До чего маразм дошел
Прога увольняют И манагер молодой Теперь его изображает... |
|||
10
Масянька
22.01.16
✎
12:31
|
(7) Не, я о другом...
Как занять блондинку на несколько часов? Дать листок, на котором на каждой стороне написано "Переверни". |
|||
11
DDwe
22.01.16
✎
12:32
|
(10) +100500 ))
|
|||
12
aka AMIGO
22.01.16
✎
12:33
|
(10) какая прелесть! :)
|
|||
13
ДенисЧ
22.01.16
✎
12:34
|
(10) А ты откуда знаешь? Тебе уже подсовывали?
|
|||
14
Luffy
22.01.16
✎
12:36
|
(8) Один фиг не отображается в поле ввода итог
Док = СоздатьОбъект("Документ.Запрос"); Док.НайтиПоНомеру(1); Док.НоваяСтрока(); Док.НачОстД = ПечНачОстД; Док.ПриходД = ПечПриходД; Док.РасходД = ПечРасходД; Док.КончОстД = ПечКонОстД; СуммаН = Док.Итог("НачОстД"); СуммаП = Док.Итог("ПриходД"); СуммаР = Док.Итог("РасходД"); СуммаК = Док.Итог("КончОстД"); Док.Записать(); |
|||
15
DDwe
22.01.16
✎
12:38
|
(14) Твою в качель ты читать умешь?
|
|||
16
DDwe
22.01.16
✎
12:38
|
Итог(<?>)
Синтаксис: Итог(<ИмяРеквизита>) Назначение: Возвращает сумму значений реквизита по всем строкам табличной части документа. Параметры: <ИмяРеквизита> - имя реквизита табличной части документа. Замечание: Метод можно использовать только для реквизитов табличной части документов с установленным свойством 'Итог по колонке'. |
|||
17
DDwe
22.01.16
✎
12:38
|
Что за лень, откуда вы понабежали все...
|
|||
18
Масянька
22.01.16
✎
12:41
|
(13) Каждая нормальная блондинка имеет такой листочек у себя на рабочем столе. Чем еще заниматься?
|
|||
19
Luffy
22.01.16
✎
12:43
|
(17) Нового ничего для меня не открыл/открыла, не добавляет в поле ввода итоги.
|
|||
20
DDwe
22.01.16
✎
12:50
|
(19) Всё внимательно прочитал?
|
|||
21
Масянька
22.01.16
✎
12:51
|
(19) Форму обнови.
|
|||
22
Garykom
гуру
22.01.16
✎
12:54
|
(21) А что сча есть специальная форма для падаванов? Точнее юнлингов?
А как выглядит? Цвет какой и логотипы где? |
|||
23
DDwe
22.01.16
✎
12:54
|
А ты вообще откуда код в (14) вызываешь?
|
|||
24
Luffy
22.01.16
✎
12:58
|
(20) Да (21) галочки везде проставлены и типы соответствуют, так же как и идентификаторы. (23) Код Процедура ПечататьСтроку()
|
|||
25
DDwe
22.01.16
✎
13:00
|
(24) Издеваешься или тупишь? А, "Код Процедура ПечататьСтроку()" - где?
|
|||
26
Luffy
22.01.16
✎
13:01
|
(25) Процедура ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка)
// Перем Сумма; ПечЕд = Запрос.Номенклатура.ОсновнаяЕдиница; //Сумма = Число(Запрос.Номенклатура.ЕмкостьБазовойЕдиницы); //начальный остаток ПечНачОстС = глФРМ(Запрос.НачОстС); ПечНачОстК = глФРМКоличество(Запрос.НачОстК,ПечЕд); ПечНачОстД = ФРМКоличество(Запрос.НачОстД * Запрос.Номенклатура.ЕмкостьБазовойЕдиницы/10,ПечЕд); Таб.ВывестиСекцию(НазваниеСекции+"|Начало"); // приходы (по операциям) ПриходС = Запрос.ПриходС; ПриходК = Запрос.ПриходК; ПриходД = Запрос.ПриходД*Запрос.Номенклатура.ЕмкостьБазовойЕдиницы/10; ВсегоСтрок = СписокОперДебет.РазмерСписка(); Для СчЦикла=1 по ВсегоСтрок Цикл НазвОперации = СписокОперДебет.ПолучитьЗначение(ВсегоСтрок - СчЦикла + 1).Идентификатор(); ТекПриходС = Запрос.ПолучитьАтрибут(НазвОперации+"ПриходС"); ТекПриходК = Запрос.ПолучитьАтрибут(НазвОперации+"ПриходК"); ТекПриходД = Запрос.ПолучитьАтрибут(НазвОперации+"ПриходД")*Запрос.Номенклатура.ЕмкостьБазовойЕдиницы/10; ПриходС = ПриходС - ТекПриходС; ПриходК = ПриходК - ТекПриходК; ПриходД = ПриходД - ТекПриходД; ПечПриходС = глФРМ(ТекПриходС); ПечПриходК = глФРМКоличество(ТекПриходК,ПечЕд); ПечПриходД = ФРМКоличество(ТекПриходД,ПечЕд); Таб.ПрисоединитьСекцию(НазваниеСекции+"|Приход"); КонецЦикла; ПечПриходС = глФРМ(ПриходС); ПечПриходК = глФРМКоличество(ПриходК,ПечЕд); ПечПриходД = ФРМКоличество(ПриходД,ПечЕд); Таб.ПрисоединитьСекцию(НазваниеСекции+"|Приход"); // расходы (по операциям) РасходС = Запрос.РасходС; РасходК = Запрос.РасходК; РасходД = Запрос.РасходД*Запрос.Номенклатура.ЕмкостьБазовойЕдиницы/10; РасходОборот = Запрос.РасходВыручка; ВсегоСтрок = СписокОперКредит.РазмерСписка(); Для СчЦикла=1 по ВсегоСтрок Цикл НазвОперации = СписокОперКредит.ПолучитьЗначение(ВсегоСтрок - СчЦикла + 1).Идентификатор(); ТекРасходС = Запрос.ПолучитьАтрибут(НазвОперации+"РасходС"); ТекРасходК = Запрос.ПолучитьАтрибут(НазвОперации+"РасходК"); ТекРасходД = Запрос.ПолучитьАтрибут(НазвОперации+"РасходД"); ТекРасходОборот = Запрос.ПолучитьАтрибут(НазвОперации+"РасходВыручка"); РасходС = РасходС - ТекРасходС; РасходК = РасходК - ТекРасходК; РасходД = РасходД - ТекРасходД; РасходОборот = РасходОборот - ТекРасходОборот; ПечРасходС = глФРМ(ТекРасходС); ПечРасходК = глФРМКоличество(ТекРасходК,ПечЕд); ПечРасходД = ФРМКоличество(ТекРасходД,ПечЕд); ПечРасходОборот = глФРМ(ТекРасходОборот); Таб.ПрисоединитьСекцию(НазваниеСекции+"|Расход"); КонецЦикла; ПечРасходС = глФРМ(РасходС); ПечРасходК = глФРМКоличество(РасходК,ПечЕд); ПечРасходД = ФРМКоличество(РасходД,ПечЕд); ПечРасходОборот = глФРМ(РасходОборот); Таб.ПрисоединитьСекцию(НазваниеСекции+"|Расход"); // конечный остаток ПечКонОстС = глФРМ(Запрос.КонОстС); ПечКонОстК = глФРМКоличество(Запрос.КонОстК,ПечЕд); ПечКонОстД = ФРМКоличество(Запрос.КонОстД * Запрос.Номенклатура.ЕмкостьБазовойЕдиницы/10,ПечЕд); Таб.ПрисоединитьСекцию(НазваниеСекции+"|КонечныйОстаток"); // Создадим документ в котором будут хранится итоги по далам, для вывода их в отчет Док = СоздатьОбъект("Документ.Запрос"); Док.НайтиПоНомеру(1); Док.НоваяСтрока(); Док.НачОстД = ПечНачОстД; Док.ПриходД = ПечПриходД; Док.РасходД = ПечРасходД; Док.КончОстД = ПечКонОстД; СуммаН = Док.ПолучитьАтрибут("СуммаН"); СуммаП = Док.ПолучитьАтрибут("СуммаП"); СуммаР = Док.ПолучитьАтрибут("СуммаР"); СуммаК = Док.ПолучитьАтрибут("СуммаК"); СуммаН = Док.Итог("НачОстД"); СуммаП = Док.Итог("ПриходД"); СуммаР = Док.Итог("РасходД"); СуммаК = Док.Итог("КончОстД"); Док.Записать(); глОживить(1); КонецПроцедуры |
|||
27
Builder
22.01.16
✎
13:02
|
СуммаН = Док.Итог("НачОстД");
Док.Записать(); Этот текст как бы намекает, что "СуммаН" не имеет отношение к документу. Сообщи имена реквизитов для итога в документе. Да и вообще накой они там сдались? Зачем хранить то, что можно легко вычислить? |
|||
28
Garykom
гуру
22.01.16
✎
13:05
|
(26) это:
ШЕДЕВР!!! |
|||
29
Масянька
22.01.16
✎
13:06
|
(26) Блондинке не понятно: зачем "// Создадим документ в котором будут хранится итоги по далам, для вывода их в отчет"? А нельзя сразу вывести в отчет?
|
|||
30
Масянька
22.01.16
✎
13:07
|
(28) Это не шедевр, а "специальная форма для падаванов. Точнее юнлингов."
|
|||
31
Garykom
гуру
22.01.16
✎
13:08
|
(29) разве непонятно что кто то про ТЗ вообще не в курсе?
|
|||
32
DDwe
22.01.16
✎
13:13
|
(31) Сейчас спросит, что такое ТЗ.
|
|||
33
oslokot
22.01.16
✎
13:14
|
че вы прикалываетесь над юными падаванами? грешно
|
|||
34
aka AMIGO
22.01.16
✎
13:15
|
(26) Ключевые слова метода Итог(): у переменных-реквизитов табличной части должен быть установлен признак "Итог по колонке"
См. (16), или загляни в СП (это Синтакс Помощник, есть такой в конфигураторе.) |
|||
35
DDwe
22.01.16
✎
13:16
|
(33)Нет не грешно, они хотя бы читать и думать пробовали для начала.
|
|||
36
Масянька
22.01.16
✎
13:16
|
(33) Видимо, там - Как посчитать в отчете итоги в 1с 7.7? уже наприкалывались...
|
|||
37
Масянька
22.01.16
✎
13:17
|
(34) Тут речь об отчете...
|
|||
38
Масянька
22.01.16
✎
13:17
|
(26) Открой стандартный отчет, где есть итоги. Разберись - напиши свой.
|
|||
39
DDwe
22.01.16
✎
13:18
|
(37) А причем тут итоги в документе?
|
|||
40
Масянька
22.01.16
✎
13:18
|
(26) И не надо темы плодить. Не надо.
|
|||
41
Масянька
22.01.16
✎
13:18
|
(39) А чего ты у меня спрашиваешь?
|
|||
42
DDwe
22.01.16
✎
13:19
|
(41) А, ТС молчит )))
|
|||
43
Масянька
22.01.16
✎
13:19
|
+ (41) Если что - я не в теме :)))))))))
|
|||
44
aka AMIGO
22.01.16
✎
13:20
|
Интересная конструкция в сабже:
Док = СоздатьОбъект("Документ.Запрос"); Я с такой не встречался. |
|||
45
aka AMIGO
22.01.16
✎
13:20
|
(43) струсила и бежишь в свою раковинку? :)
|
|||
46
Масянька
22.01.16
✎
13:21
|
(44) "Попадешь к вам в гости - научишься есть всякую гадость" (С) :))))
|
|||
47
Масянька
22.01.16
✎
13:22
|
(45) Чё за наезды? (цепь на шее и пальцы сложены определенным образом) :)
Я вообще не понимаю замысел автора... |
|||
48
Garykom
гуру
22.01.16
✎
13:23
|
(44) мне тоже понравилось
технически если сделать запись этого дока (юзаемого как промежуточная ТЗ) то можно в случае сбоя (после записи но до вывода результатов) восстановить что нассчитали )) а если не записывать док то чем не ТЗ а? |
|||
49
aka AMIGO
22.01.16
✎
13:25
|
(47) Да ладно.. :)
ИМХО ТС еще учится, так что замысел и конструкции могут быть неожиданными. ЗЫ. сколько открытий чудных сделали авторы, не знающие, что ЭТО сделать нельзя :) |
|||
50
Builder
22.01.16
✎
13:25
|
(48) А еще удобно что все данные по отчету складываются в этом документе. Сколько раз отчет сформировали - такие и итоги.
|
|||
51
Масянька
22.01.16
✎
13:29
|
(49) +100
А если оно еще и работает... Хотя, работать не должно. :))))) |
|||
52
Garykom
гуру
22.01.16
✎
13:35
|
(50) это уже мелочи, можно новый док каждый раз делать при создании отчета - заодно и нагрузку померяем
но вот если отчет делают несколько сотен раз в день то как быстро база того? |
|||
53
DDwe
22.01.16
✎
13:41
|
ТС молчит как партизан.
|
|||
54
Garykom
гуру
22.01.16
✎
13:42
|
(53) за ДДОСили ((
|
|||
55
Масянька
22.01.16
✎
13:47
|
(53) (54) Вы кого хочешь обидете... Злыдни... :)))))
|
|||
56
Масянька
22.01.16
✎
13:49
|
(55) Блин... Стыдобища... ОбидИте...
|
|||
57
aka AMIGO
22.01.16
✎
13:57
|
У Автора есть еще одна тема
Как посчитать в отчете итоги в 1с 7.7? В ней скопирована процедура из отчета "Отчет по продажам ТМЦ" В принципе - вопрос у него в данной теме - остался прежним. А в типовом отчете итоги считаются. Только вчера я занимался ими. Вывод: что-то ТС здесь не то спросил, или не донёс до нас проблему. Вот потому полсотни ответов.. |
|||
58
Luffy
22.01.16
✎
14:06
|
Позже, постараюсь все конкретно объяснить.
|
|||
59
Масянька
22.01.16
✎
14:13
|
(57) Правильно поставленная задача содержит половину ответа (С)
|
|||
60
aka AMIGO
22.01.16
✎
14:28
|
(58) Угу.
И вот что: в Отчетах при построении таблицы итоги (те, что выводятся после таблицы!) считаются в процессе вывода. Для этого вводятся дополнительные переменные. К примеру, в итоговой строке есть выражение ГлФРМ(ВсегоОборот); Эта ВсегоОборот считается в двух процедурах Проц Вывод строки() и Проц ВыводСтрокиДокумента() по формуле: ВсегоОборот = ВсегоОборот + Оборот; Чтобы она не теряла значение при переходе из одной процедуры в другую, она объявлена в самом верху модуля: Перем ВсегоОборот; В конце отчета выводится секция "Итог", в которой стоит формула глФРМ(ВсегоОборот) Это самый применяемый метод подсчета итогов в конце таблицы. |
|||
61
Luffy
22.01.16
✎
14:39
|
(60) Теперь понял немного, сейчас не дома, попробую отпишусь.
|
|||
62
Масянька
22.01.16
✎
14:57
|
(61) - Ты понял, что параллельные прямые не пересекаются?
- Да, понял я, понял... Я вот только не понял, почему они не пересекаются... (С) |
|||
63
VladZ
27.01.16
✎
06:33
|
(0) OMG! Если не сложно, дай координаты фирмы. Горю желанием предложить свои услуги.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |