|
|
|
Убрать нули из дробной части при форматировании | ☑ | ||
|---|---|---|---|---|
|
0
Nic1
22.10.09
✎
16:44
|
Использую при выводе таблицы:
Таб.ИспользоватьФормат("Ч15.2,"); Можно ли убирать нули из дробной части, если дробной части нету? Т.Е, вместо "0,00" выводить "0"? |
|||
|
1
Nic1
22.10.09
✎
16:45
|
или вместо "5,00" выводить "5"
|
|||
|
2
Ochkarito
22.10.09
✎
16:48
|
Можно не использовать форматирование)
|
|||
|
3
Nic1
22.10.09
✎
16:51
|
Форматирование нужно, в огромной таблице нужно проставить формат, отличный от системного
|
|||
|
4
Ёпрст
гуру
22.10.09
✎
17:18
|
заместо Формат используй Окр() и наслаждайся.
|
|||
|
5
Nic1
22.10.09
✎
17:21
|
это как?
во-первых, мне нужно сразу применить формат ко всей таблице, во-вторых, округление нужно до сотых, если дробная часть есть. |
|||
|
6
Ёпрст
гуру
22.10.09
✎
17:22
|
(5) Прочитать про Окр ужо религия не позволяет?..
|
|||
|
7
Ёпрст
гуру
22.10.09
✎
17:22
|
+6 а вот ко всей таблице - обломись.
|
|||
|
8
Nic1
22.10.09
✎
17:23
|
(7) суть в том, чтобы ко всей таблице. По каждой ячейке это гемор, таблица огромная
|
|||
|
9
Ёпрст
гуру
22.10.09
✎
17:24
|
(8) "огромная" - это сколько столбиков?
|
|||
|
10
Nic1
22.10.09
✎
17:25
|
20 столбиков и 70 строк - фиксированный формат выходной формы
|
|||
|
11
Ёпрст
гуру
22.10.09
✎
17:26
|
а вообще, тупо отмена форматирования вообще и при выводе все числовые значения делать через Окр и привет..
|
|||
|
12
Nic1
22.10.09
✎
17:26
|
то бишь, 1400 ячеек))
|
|||
|
13
Ёпрст
гуру
22.10.09
✎
17:26
|
(10) дык это детская табличка..
|
|||
|
14
Ёпрст
гуру
22.10.09
✎
17:27
|
(12) и чего ? она же не "руками" заполняется..
|
|||
|
15
NS
22.10.09
✎
17:28
|
Если Цел(зн)=зн тогда
печЗн=формат(зн,"Ч012"); иначе печзн=Формат(зн,"ч012.3,"); конецесли; |
|||
|
16
Nic1
22.10.09
✎
17:29
|
В каждой из этой ячеек стоит свое уникальное выражение, к каждому тогда придется применять еще какую-то формулу. Чтобы обработать 1400 ячеек, время придется потратить немало.
|
|||
|
17
Nic1
22.10.09
✎
17:30
|
(14) типа того))
|
|||
|
18
Ёпрст
гуру
22.10.09
✎
17:37
|
(15) Нафига так то ? Окр(Зн,2,1) и привет
|
|||
|
19
Ёпрст
гуру
22.10.09
✎
17:38
|
(16) ну ты же потратил ужо его, забивая выражения в ячейках ?
Данные для выражений же находятся в модуле формы, не так ли ? Там и правь... нафик тебе в таблицу лезть руками.. не вкурю.. |
|||
|
20
Nic1
22.10.09
✎
17:41
|
(19) потратил один раз, больше не хочу))
Тем более, отчетов несколько, некоторые из них весьма объемные. И какая разница, в таблице или в модуле? Ну в модуле править 1400 выражений, что я от этого выиграю? |
|||
|
21
Nic1
22.10.09
✎
17:42
|
(18) Окр - не даст запятую в разделителе))
|
|||
|
22
Ёпрст
гуру
22.10.09
✎
17:42
|
(20) проще..
|
|||
|
23
Ёпрст
гуру
22.10.09
✎
17:43
|
(21) Чего курим ?
Окр(0.00,2,1) = 0 Окр(5.00,2,1) = 5 Окр(5.009,2,1) = 5.01 |
|||
|
24
zak555
22.10.09
✎
17:45
|
(21) запятая тебе нужна ?
ЧислоСЗапятой = СтрЗаменить(Окр(Зн,2,1),".",","); |
|||
|
25
Nic1
22.10.09
✎
17:45
|
(24) все, я счастлив, побежал делать))))))
|
|||
|
26
zak555
22.10.09
✎
17:46
|
(25) что? о_О
|
|||
|
27
zak555
22.10.09
✎
17:47
|
(25) НО : (24) - это уже число!
|
|||
|
28
Nic1
22.10.09
✎
17:49
|
(23)(24) * 1400 ячеек))
|
|||
|
29
Nic1
22.10.09
✎
17:49
|
* несколько отчетов
|
|||
|
30
zak555
22.10.09
✎
17:51
|
(28) что это?
|
|||
|
31
Nic1
22.10.09
✎
17:53
|
(30) суть всей темы в том, как это сделать сразу во ВСЕЙ ТАБЛИЦЕ...
|
|||
|
32
Nic1
22.10.09
✎
17:54
|
а не к каждому выражению
|
|||
|
33
zak555
22.10.09
✎
17:54
|
(31) что у тя за таблиц такая?
|
|||
|
34
Ёпрст
гуру
22.10.09
✎
17:55
|
(31) Ответ никак устроит ?
И покажи-ка код формирования этого чуда.. Не верю я в 1400 переменных для его формирования. |
|||
|
35
zak555
22.10.09
✎
17:56
|
(34) у него наверное таблица эта есть, в которой написаны числа 1400 раз
|
|||
|
36
Nic1
22.10.09
✎
17:58
|
(34)
Отчет бюджет, 20 подразделений, 70 статей издержек (в т.ч. сводные показатели). Формат отчета фиксированный, т.е., всегда именно 70 строк. Стало быть, в каждой ячейке - уникальное выражение. Хочешь верь, хочешь не верь)) |
|||
|
37
Ёпрст
гуру
22.10.09
✎
17:59
|
(35) Если она есть, то пробежаться по всей и через область поменять числа - пара сек. понадобится..
|
|||
|
38
Ёпрст
гуру
22.10.09
✎
17:59
|
(36) код то покажи - где выводятся 1400 переменных.
|
|||
|
39
Nic1
22.10.09
✎
18:00
|
(37) можно и так, была такая идея, просто думал, может в функции Формат есть такая возможность, так было бы проще
|
|||
|
40
zak555
22.10.09
✎
18:01
|
(39) нет, только когда заполняешь
|
|||
|
41
Nic1
22.10.09
✎
18:02
|
(38) зачем он тебе?
|
|||
|
42
Ёпрст
гуру
22.10.09
✎
18:02
|
(41) как-то в сказки не верится..
|
|||
|
43
Ёпрст
гуру
22.10.09
✎
18:03
|
+42 и в макет таблицы из 1400 ячеек.
|
|||
|
44
Nic1
22.10.09
✎
18:04
|
дык это чистая правда, зачем бы мне спрашивать, если бы все было так просто?
Кстати, код отрабатывает быстро, формируется мухой)) |
|||
|
45
Ёпрст
гуру
22.10.09
✎
18:04
|
Хотя бы скриншот макета покажи...
|
|||
|
46
Nic1
22.10.09
✎
18:05
|
(43) хе, так это еще по-детски, мне рассказывал знакомый прогер про таблички в десятки раз больше))
|
|||
|
47
Ёпрст
гуру
22.10.09
✎
18:06
|
(46) Ты это ..показывай скриншот..
|
|||
|
48
Nic1
22.10.09
✎
18:10
|
Часть таблицы))
http://i017.radikal.ru/0910/a6/89870fb5c7de.jpg |
|||
|
49
zak555
22.10.09
✎
18:12
|
(48) там переменные ? О__0
|
|||
|
50
Ёпрст
гуру
22.10.09
✎
18:12
|
(48) и чего, хочешь сказать, что ВСЁ это не делается через вывестисекцию-ПрисоединитьСекцию, т.е динамически ?
Не верю. |
|||
|
51
Nic1
22.10.09
✎
18:13
|
(50)
ага, через Таб.Вывести() Все это переменные |
|||
|
52
zak555
22.10.09
✎
18:13
|
(51) ТАб.Показать()
|
|||
|
53
Nic1
22.10.09
✎
18:13
|
так как дынные динамически меняются, а структура таблицы должна быть постянной
|
|||
|
54
zak555
22.10.09
✎
18:14
|
(53) и какие проблемы?
|
|||
|
55
zak555
22.10.09
✎
18:14
|
(53) сколько таблицу писал?
|
|||
|
56
Ёпрст
гуру
22.10.09
✎
18:15
|
(51) извращение какое-то....
Не верю всё равно в НеВозможность создания такой таблички динамически, без 1400 переменных. |
|||
|
57
Nic1
22.10.09
✎
18:15
|
(54) проблемы такие, что пришлось заводить столько переменных
|
|||
|
58
Nic1
22.10.09
✎
18:16
|
(55) ну, не очень долго, там названия однотипные, сделал одну строку, а потом через поиск-заменить...
|
|||
|
59
Ёпрст
гуру
22.10.09
✎
18:16
|
(57) может того, переписать всё заново ?
|
|||
|
60
Nic1
22.10.09
✎
18:17
|
(59) если подскажешь идею, сделаем))
|
|||
|
61
zak555
22.10.09
✎
18:17
|
(58) переписывай
|
|||
|
62
zak555
22.10.09
✎
18:18
|
(60) ПрисоеднитьСекцию !!
|
|||
|
63
Nic1
22.10.09
✎
18:20
|
ладно, пока убегаю, завтра продолжим))
|
|||
|
64
Ёпрст
гуру
22.10.09
✎
18:20
|
(60) идея - в (50)
|
|||
|
65
mad hatter
22.10.09
✎
18:57
|
аааа...
застрелица автору еще не предлагали? ))) |
|||
|
66
Ёпрст
гуру
22.10.09
✎
19:00
|
тссс... не спугни. Нужно выявить их всех, в (46) еще один такой есть где-то..
:0 |
|||
|
67
KishMish
23.10.09
✎
08:08
|
Соообщить(СтрЗаменить("15.00",".00",""));
Окно сообщений 15 |
|||
|
68
Шахид
23.10.09
✎
08:13
|
после вывода таблицы
но перед тем как ее показать через Область измени формат в нужных ячейках |
|||
|
69
Шахид
23.10.09
✎
08:14
|
кури Атрибуты и методы Области Таблицы
|
|||
|
70
Nic1
23.10.09
✎
09:43
|
> и чего, хочешь сказать, что ВСЁ это не делается через вывестисекцию
ПрисоединитьСекцию, т.е динамически ? Не верю. - Распишу задачу поподробнее, может быть кто предложит более оптимальный и менее трудоемкий алгоритм решения. В чем я правда сильно сомневаюсь, но попытка не пытка)) Итак, есть выборка данных в виде: «Подразделение - статья затрат - сумма», отсортированная по подразделениям и статьям. Требуется вывести данные в таблицу фиксированного формата. Например: ---------------------------------------------------------------------- Подразд1 Подразд2 Подразд3 Пордразд4 Подразд5 Статья1 Статья2 Статья3 Статья4 Статья5 ----------------------------------------------------------------------- Данные от месяца к месяцу могут меняться, т.е., какие-то статьи или подразделения могут быть или не быть. Но структура выходной таблицы остается именно такой. Как это можно сделать через «Вывести секцию-присоединить секцию», чтобы написание алгоритма было менее трудоемким и можно было обойтись без большого количества переменных? |
|||
|
71
Nic1
23.10.09
✎
09:44
|
(68) да, это хороший вариант, попробую его)
|
|||
|
72
Ёпрст
гуру
23.10.09
✎
09:48
|
(70) Ё..
Завести ОДНУ вертикальную секцию и 2 горизонтальных в макете и ВСЁ: "Заголовок" "Шапка" | ПечСтатья | "Строка" | ПечПоказатель| Всё.. Далее вывод через ВывестиСекцию() + ПрисоединитьСекцию() |
|||
|
73
Nic1
23.10.09
✎
09:50
|
(72) ты пишешь о технике вывода таблицы, а говорю про алгоритм вывода данных в принципе, чтобы все это не обернулось в итоге еще больши гемороем, чем через переменные.
Алгоритм можешь преложить примерный? |
|||
|
74
Шахид
23.10.09
✎
09:56
|
(0) у тебя таблица
так что смело используй циклы оп стоокам или столбцам и будет тебе счастье |
|||
|
75
Ёпрст
гуру
23.10.09
✎
10:00
|
(73)а чего там сложного?
|
|||
|
76
Ёпрст
гуру
23.10.09
✎
10:01
|
+75 У тебя же есть все данные в ТЗ, на сколько я понял - далее тупой вывод в Таблицу и всё..
|
|||
|
77
Nic1
23.10.09
✎
10:04
|
(75) ну предложи алгоритм, если просто.
Как бы ты начал выводить данные в ту таблицу, которая приведена в (70) |
|||
|
78
azernot
23.10.09
✎
10:04
|
ТабДанных - сврёрнута по статье и подразделнию, имеетются общие списки статей и подразделений
Вывод Шапки... Для А = 1 По ОбщийСписокСтатей.РазмерСписка() Цикл Статья = ОбщийСписокСтатей.Получить(А); Вывод первого столбца таблицы с именем статьи Для Б = 1 По ОбщийСписокПодразделений.РазмерСписка() Цикл Подразделение = ОбщийСписокПодразделений.РазмерСписка(); Нстр = 0; Если ТабДанных.НайтиЗначение(Статья, Нстр, "КолонкаСтатья") = 0 ТОгда Сумма = 0; Иначе Для В = Нстр По ТабДанных.КоличествоСтрок() Цикл Если Подразделение = ТабДанных.ПолучитьЗначение(В, "КолонкаПодразделение") ТОгда Сумма = ТабДанных.ПолучитьЗначение(В, "КолонкаСумма") Прервать; КонецЕсли; КонецЕсли; Присоединение столбца таблицы с суммой нужного подразделения КонецЦикла; КонецЦикла; Вывод подвала таблицы |
|||
|
79
Nic1
23.10.09
✎
10:05
|
Например, давай заполним одну строку для начала
|
|||
|
80
Шахид
23.10.09
✎
10:06
|
(79) зря ты уважаемый ведешься
Ёпрст3 он умный |
|||
|
81
azernot
23.10.09
✎
10:07
|
+(78) Ну я там накосячил слегка (7.7 это так давно было!), цикл не закрыл, подразделение неверно присвоил, но суть понятна.
|
|||
|
82
Nic1
23.10.09
✎
10:11
|
(81) ну да, на первый взгляд подходящее решение)
|
|||
|
83
azernot
23.10.09
✎
10:18
|
(82) Ха! На первый взгляд.. Знал бы ты сколько собак на этом съедено... Вообще, уже на уровне формирования выборки надо думать о его выводе. Приведённый алгоритм - это решение в лоб, не оптимальное (потому как перебор лишних данных присутствует при поиске подразделений).
Я обычно делал вложенные ТЗ, при формировании выборки закладывал наличие всех возможных вариантов и т.д. и т.п. |
|||
|
84
Ёпрст
гуру
23.10.09
✎
10:18
|
http://webfile.ru/4027467
на вот... как пример |
|||
|
85
Ёпрст
гуру
23.10.09
✎
10:20
|
вот еще метода..
http://djkxfhf.nm.ru/TZN/Rabota_s_TZN.html |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |