|
Сложение в строке. | ☑ | ||
---|---|---|---|---|
0
NatashaShvan
17.12.12
✎
15:24
|
Скажите пожалуйста, а как можно сделать вычисление по строке c итогом в подвале.
у меня есть справочник и в нем 2-е колонки (формула, итог) Возможно ли сделать так чтоб в итоге считалось то что я забью в поле формула, например поле формула (2+2) а в поле итог 4. И после все это суммировалось в подвале, с подвалом я разобралась а как суммировать по строке я не пойму. Извините если плохо объясняю. Управляемое приложение 1C 8,2 Пример: http://s019.radikal.ru/i609/1212/e1/ed9aef208a6d.png Простите еще раз, только учусь. |
|||
1
shuhard
17.12.12
✎
15:24
|
(0) нет фотки - нет мультиков (с)
|
|||
2
le_
17.12.12
✎
15:25
|
А = Вычислить("500 + 500*20/100"); |
|||
3
NatashaShvan
17.12.12
✎
15:36
|
Эт я поняла! Спасибо ) А как в элементе справочника в строках так сделать, я могу 1,2,3, строки с математическим действием добавить но как им дать параметр вычислить не пойму.
Спасибо! |
|||
4
pessok
17.12.12
✎
15:38
|
(3) вычислить(рекв1+рекв2+рекв3), не?
|
|||
5
NatashaShvan
17.12.12
✎
15:39
|
||||
6
Wobland
17.12.12
✎
15:39
|
про визуальное прелставление уже было?
|
|||
7
Wobland
17.12.12
✎
15:40
|
(5) да не про это!
|
|||
8
pessok
17.12.12
✎
15:41
|
(5) дама хочет считать в ПриИзменении чего она там навводила? как в экселе =5+7 сразу даст 12?
|
|||
9
Rovan
гуру
17.12.12
✎
15:44
|
(+4) вычислить(ПеременнаяВКоторойКодВычисления)
|
|||
10
NatashaShvan
17.12.12
✎
16:15
|
Ой а можно, чтоб я поняла ) на примере... Спасибо всем )
|
|||
11
Deon
17.12.12
✎
16:17
|
(10) Можно.
|
|||
12
Wobland
17.12.12
✎
16:21
|
(10) привожу пример. я страшный, зелёный и с лампочкой. а ты?
|
|||
13
pessok
17.12.12
✎
16:22
|
(10) (12) как бэ намекаэ, что без слайдов не взлетит
|
|||
14
Deon
17.12.12
✎
16:22
|
(0) А что ты там ваще такое хитрое делаешь?
|
|||
15
Deon
17.12.12
✎
16:24
|
||||
16
le_
17.12.12
✎
16:26
|
(10) А можно задачу описать, чтобы мы поняли?
|
|||
17
NatashaShvan
17.12.12
✎
16:27
|
Делаю складывалку и считалку, а а сели честно то просто учусь, а вот встала интересная задачка как такое реализовать) Думаю где спросить, конечно у умных, а вы еще и шутить изволите ) а может всеж кто-то умеет помогать и даст примерчик ) ну мальчики!
|
|||
18
pessok
17.12.12
✎
16:28
|
(17) судя по скрину, складывалку у тебя и так работает. чего не хватает еще?
|
|||
19
Deon
17.12.12
✎
16:29
|
(17) Наташа, давай уже без соплей. Чё надо, по-русски? А то мы тут мальчики умные, но нифига не втыкаем.
|
|||
20
NatashaShvan
17.12.12
✎
16:30
|
Ну эт я как пример сделала! там работает только итог в подвале , а вот по строке не считает (
|
|||
21
Deon
17.12.12
✎
16:30
|
А вообще, пора уже делать обязательным участие в Мисс/миссис бюст 2012 (отбор кандидаток) )
|
|||
22
Reset
17.12.12
✎
16:30
|
В событии при изменении э.у. "Формула" написать
ТекущаяСтрока=ЭлементыФормы.КакТамНазываетсяТП.ТекущаяСтрока; Попытка ТекущаяСтрока.Итог=Вычислить(ТекущаяСтрока.Формула); Исключение Сообщить("Ошибка в формуле"+ОписаниеОшибки()); КонецПопытки; |
|||
23
palpetrovich
17.12.12
✎
16:32
|
первая колонка = Формула, вторая - результат
Где-нить в процедуре "приПолученииДанных" (к примеру) - результат = вычислить(Формула); |
|||
24
Reset
17.12.12
✎
16:32
|
(22) Ааа увидел, там УФ
Не сработает так |
|||
25
pessok
17.12.12
✎
16:33
|
(24) Вычислить() только на сервере? Лень в пофигуратор лезть
|
|||
26
Reset
17.12.12
✎
16:33
|
другой синтаксис
|
|||
27
Reset
17.12.12
✎
16:33
|
(25) не, вычислить везде, ЭлементыФормы нет
|
|||
28
Wobland
17.12.12
✎
16:34
|
(22) да не надо в элементы лезть, надо в реквизиты лезть
|
|||
29
Reset
17.12.12
✎
16:34
|
ну по аналогии как-то, элементарно наверняка.
|
|||
30
Reset
17.12.12
✎
16:35
|
(28) в обычной приходится лезть, чтобы узнать какая строка редактировалась (оправдываюсь)
|
|||
31
Wobland
17.12.12
✎
16:36
|
(30) при изменении? нуда. я не слежу за дискуссией ;)
|
|||
32
pessok
17.12.12
✎
16:37
|
(30) а в тощей уже не надо разве?) замолаживает, пола домой
|
|||
33
Reset
17.12.12
✎
16:39
|
так вот в УФ примерно
Элементы.ИмяТбалицыФормы.ТекущиеДанные.Итог=Вычислить(Элементы.ИмяТбалицыФормы.ТекущиеДанные.Формула); |
|||
34
Reset
17.12.12
✎
16:40
|
(31) Это я предлагаю при изменении
|
|||
35
Reset
17.12.12
✎
16:41
|
+(34) Так как никакого другого ТЗ нам не предоставлено
|
|||
36
Deon
17.12.12
✎
16:43
|
(33) А чё через элементы-то, а не через реквизиты?
|
|||
37
Reset
17.12.12
✎
16:45
|
(36) Да что вы докопались то до меня.
В УФ можно по реквизитам узнать, которую строку редактирует пользователь? Ну покажите, я не знаю как. Я как добрый самаритянин авторше помогаю. |
|||
38
Deon
17.12.12
✎
16:47
|
(37) А, не, всё правильно у тя. Это я тормоз )
|
|||
39
Reset
17.12.12
✎
16:49
|
Можно кнопку "пересчитать" добавить, там ясное дело обращение к элементам не нужно будет.
|
|||
40
NatashaShvan
17.12.12
✎
16:55
|
Т.З.
Есть справочник "Справочник" в нем создано два объекта табличной части (Формула и Итог) Задача вычислять и занести в поле "Итог" в каждой последующей добавленной строке, ту формулу которая будет использована в объекте "Формула" |
|||
41
NatashaShvan
17.12.12
✎
16:57
|
Теперь понятнее написала )
|
|||
42
pessok
17.12.12
✎
16:58
|
(40) очешуеть... понятнее... теперь тут вообще густой лес
|
|||
43
Deon
17.12.12
✎
17:02
|
(40) Давай по-порядку. Не называй Справочники "Справочник".
2 объетка табличной части - это реквизиты. Решение твоей задачи в (33). Это решение надо засунуть в событие ПриИзменении элемента формы "Формула" |
|||
44
NatashaShvan
17.12.12
✎
17:04
|
||||
45
pessok
17.12.12
✎
17:05
|
(44) это называется "колонка табличной части" или "реквизит табличной части". Объект - это вообще другое понятие из страшного ООП, которым желтый программист себе голову не забивает. Ну если только не начинает курить менеджер объекта )
|
|||
46
Deon
17.12.12
✎
17:08
|
(45) В её форме Объект - это элемент справочника
|
|||
47
pessok
17.12.12
✎
17:11
|
(46) а мне кажется, что это ТЧ одного элемента
|
|||
48
Deon
17.12.12
✎
17:16
|
(47) Ну да. Но я вот об этом Объекте:
http://s019.radikal.ru/i624/1212/56/ea358966782c.jpg Это понятие 1С-нику близко и хорошо используется в форме |
|||
49
pessok
17.12.12
✎
17:18
|
(48) а :) это понятие близко одинэснику, плотно подсевшему на УФ :)
|
|||
50
NatashaShvan
17.12.12
✎
17:22
|
Мальчики, может мне вам набросать конфигурацию тестовую? так вы меня поймете.
|
|||
51
Deon
17.12.12
✎
17:28
|
(50) Что не получается-то у тебя?
|
|||
52
NatashaShvan
17.12.12
✎
17:36
|
||||
53
NatashaShvan
17.12.12
✎
17:40
|
Вот в примере мне нужно чтоб я в поле (формула) забила функцию действие например 5+5 а в поле (Итог) получить результат
|
|||
54
Cunni
17.12.12
✎
17:59
|
Я так понимаю это тест при приеме на работу?
|
|||
55
Reset
17.12.12
✎
18:02
|
В дизайнере формы дважды кликнуть на поле КалькуляторФормула, в свойствах напротив ПриИзменении нажать на лупу, в тело открывшейся процедуры вписать
ТекДанные=Элементы.Калькулятор.ТекущиеДанные; ТекДанные.Итог=Вычислить(ТекДанные.Формула); Объект.Итог = Объект.Калькулятор.Итог("Итог"); |
|||
56
Reset
17.12.12
✎
18:02
|
(55) к (52)
|
|||
57
Reset
17.12.12
✎
18:03
|
+Можно обрамить в попытку a-la (22)
|
|||
58
palpetrovich
17.12.12
✎
18:10
|
не здесь: КалькуляторПриИзменении(Элемент), а здесь:
&НаКлиенте Процедура КалькуляторФормулаПриИзменении(Элемент) СтрокаТабличнойЧасти = Элементы.Калькулятор.ТекущиеДанные; СтрокаТабличнойЧасти.Итог = Вычислить(СтрокаТабличнойЧасти.Формула); КонецПроцедуры |
|||
59
Cunni
17.12.12
✎
18:14
|
(58) спорим не сработает?))
|
|||
60
Reset
17.12.12
✎
18:15
|
(58) первая часть претензии непонятна (здесь/не здесь). Написано ясно же - в обработчике "при изменении" поля формула.
вторая часть - приведенный код - делает вовсе не то что надо |
|||
61
Reset
17.12.12
✎
18:17
|
хотя актуальность решения с уходом автора стремится к нулю
|
|||
62
Reset
17.12.12
✎
18:18
|
Автор(ша) вообще похоже писатель(ница) больше чем читатель
|
|||
63
palpetrovich
17.12.12
✎
19:38
|
(59) чего спорить, я проверил предварительно
(60) "первая часть" - про то, что в (52) не то событие выбрано, как следствие - маты "вторая часть" - делает именно то, что в (0) ..и, кста, то-же что и (55) :) |
|||
64
NatashaShvan
18.12.12
✎
09:35
|
Ура!!! Все работает ) спасибо!!!
ТекДанные=Элементы.Калькулятор.ТекущиеДанные; ТекДанные.Итог=Вычислить(ТекДанные.Формула); Объект.Итог = Объект.Калькулятор.Итог("Итог"); |
|||
65
NatashaShvan
18.12.12
✎
09:38
|
И второй вариант отлично работает )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |