![]() |
![]() |
|
OFF: Убрать первые нули из номера | ☑ | ||
---|---|---|---|---|
0
Dooro
25.05.11
✎
13:45
|
Есть длина строки = 10
нумерация идет ,например 0000000001,0000000002, и тд как оставить "чистый" номер ? например из 0000000209 оставить 209 |
|||
1
Irbis
25.05.11
✎
13:45
|
Число?
|
|||
2
PR
25.05.11
✎
13:45
|
(0) Ты действительно программируешь на 1С три года?
|
|||
3
Попытка1С
25.05.11
✎
13:46
|
Поставить числовой тип у номера?
|
|||
4
Dooro
25.05.11
✎
13:46
|
тип строка
|
|||
5
Нуф-Нуф
25.05.11
✎
13:46
|
(2)+1
|
|||
6
Dooro
25.05.11
✎
13:46
|
оставить строку
|
|||
7
Попытка1С
25.05.11
✎
13:46
|
(6) Написать обработку не предлагать?
|
|||
8
Irbis
25.05.11
✎
13:47
|
Строка(Число(НомерСНулями))
|
|||
9
and2
25.05.11
✎
13:47
|
ОбщегоНазначения.ПолучитьНомерНаПечать
|
|||
10
shamannk
25.05.11
✎
13:47
|
Строка(Число(000000001)) Взлетит?
|
|||
11
НуВотКак
25.05.11
✎
13:48
|
НомерНаПечать
|
|||
12
Dooro
25.05.11
✎
13:48
|
нули убрать я знаю как.. но уберутся и внутренние нули из 209 останется 29
|
|||
13
Irbis
25.05.11
✎
13:48
|
(12) Пятница не завтра
|
|||
14
Dem1urg
25.05.11
✎
13:49
|
(12) Чукча не читатель?
|
|||
15
and2
25.05.11
✎
13:49
|
(13) сегодня?
|
|||
16
Попытка1С
25.05.11
✎
13:49
|
(12) Тяжелый случай..
|
|||
17
hhhh
25.05.11
✎
13:50
|
(12) кОндидат наук?
|
|||
18
Рэйв
25.05.11
✎
13:50
|
СтрЗаменить(Номер,"0","");
|
|||
19
Рэйв
25.05.11
✎
13:51
|
хотя не покатит:)
|
|||
20
Рэйв
25.05.11
✎
13:51
|
в номерер тоже убьет
|
|||
21
Попытка1С
25.05.11
✎
13:51
|
(18) Еще один..
|
|||
22
Dooro
25.05.11
✎
13:52
|
да можно перебирать с лева направо. но я думал может проще как то
|
|||
23
Dooro
25.05.11
✎
13:52
|
перебирать пока следующий символ <> 0
|
|||
24
lxs
25.05.11
✎
13:52
|
(22) проснись, епт.. строка(число(твойномер))..
|
|||
25
PR
25.05.11
✎
13:53
|
(12) LOL
|
|||
26
Dooro
25.05.11
✎
13:53
|
номер и так тип строка.
|
|||
27
almar
25.05.11
✎
13:53
|
Пока Лев(Номер,1)="0" Цикл
Номер=Сред(Номер,2); КонецЦикла; |
|||
28
Mitriy
25.05.11
✎
13:54
|
а то, что в (9) посмотреть не айс?
|
|||
29
Wobland
25.05.11
✎
13:54
|
ВК не предлагали ешё написать?
|
|||
30
PR
25.05.11
✎
13:54
|
(27) Ты чо секреты мастерства начинающим раздаешь, он даже пятерки еще не намотал :))
|
|||
31
rs_trade
25.05.11
✎
13:54
|
(22) про преобразование типов слышал?
|
|||
32
Irbis
25.05.11
✎
13:55
|
(15) В обед не закусывал
|
|||
33
almar
25.05.11
✎
13:55
|
(30) Я сегодня добрый
|
|||
34
Irbis
25.05.11
✎
13:56
|
(33) Из-за таких дореньких слой икры и масла на булке у 1сников истончается
|
|||
35
almar
25.05.11
✎
13:57
|
(34) Неее. Чем больше раздаешь, тем больше получаешь.
|
|||
36
rs_trade
25.05.11
✎
13:57
|
предлагаю накидать автору годных алгоритмов. Число не предлагать!
|
|||
37
fisher
25.05.11
✎
13:58
|
(34) Не истончается. Автор сюда скоро вернется проблемы с нумерацией разгребать.
|
|||
38
Irbis
25.05.11
✎
13:59
|
Таким конфигурастам надо презервативы бесплатно раздавать...
|
|||
39
hhhh
25.05.11
✎
14:00
|
чем больше таких авторов, тем больше зарплата. Надо его всячески поддерживать. А то если будут все шибко умные, написать отчет будет стоить 50 рублей.
|
|||
40
Mitriy
25.05.11
✎
14:00
|
(37) предполагаешь, что он подразумевает нумерацию? Тогда ветку надо переносить на пятницу...
|
|||
41
shamannk
25.05.11
✎
14:01
|
Предлагаю так: все 0=" "
СокрЛП(Номер) ну а потом " "=0 |
|||
42
Mitriy
25.05.11
✎
14:01
|
(41) а с префиксами чего делать будешь?
|
|||
43
Mickeleangelo
25.05.11
✎
14:02
|
(36)
|
|||
44
Ахиллес
25.05.11
✎
14:03
|
Чем тупее тема, тем больше в ней ответов.
Если создать тему "сколько будет 2+2?" будет в ней 1000 ответов - 4? |
|||
45
and2
25.05.11
✎
14:03
|
(42) вот сейчас ты конкретно отобрал у кого то кусок масла :(
|
|||
46
Dooro
25.05.11
✎
14:03
|
префиксов нет
тип значения строка = 10 символов. |
|||
47
Mitriy
25.05.11
✎
14:03
|
блин... ну есть же уже готовая функция во всех, пожалуй, типовых...
зоопарк велосипедистов... |
|||
48
Mickeleangelo
25.05.11
✎
14:03
|
(43) Ошибся:
Прав("0000000000" + …); |
|||
49
Дикообразко
25.05.11
✎
14:04
|
(42) кстати, а вот 77 лучше с неявным преобразованием работала, сейчас 8ка ошибки выдает
|
|||
50
lxs
25.05.11
✎
14:04
|
(46) Я правильно понял? твой ник читается "ДУРо"?
|
|||
51
Dooro
25.05.11
✎
14:04
|
ОбщегоНазначения.ПолучитьНомерНаПечать - у меня не типовая
этого нет |
|||
52
Попытка1С
25.05.11
✎
14:04
|
Автор ты сначало руками перенумеруй номера типа 000206 на 0002О2, т.е. между цифрами замени 0 на букву.
А потом воспользуйся секретным оружием из (18)... |
|||
53
NDN
25.05.11
✎
14:04
|
вот нетленка, делюсь:
Если Ном="0000000001" Тогда Возврат "1" ИначеЕсли Ном="0000000002" Тогда Возврат "2" ИначеЕсли Ном="0000000003" Тогда Возврат "3" ИначеЕсли Ном="0000000004" Тогда Возврат "4" ..... КонецЕсли; |
|||
54
shamannk
25.05.11
✎
14:07
|
(42) Вот жить будет (46)
|
|||
55
PuhUfa
25.05.11
✎
14:07
|
(53) а может справочник соответсвий? -)))
|
|||
56
lxs
25.05.11
✎
14:07
|
Пока 1=1 Цикл
Если Лев(ТвойНомер,1) = "0" Тогда ТвойНомер = Прав(ТвойНомер, СтрДлина(ТвойНомер)-1); Иначе Прервать; КонецЕсли; КонецЦикла; |
|||
57
Попытка1С
25.05.11
✎
14:07
|
(53) Выложи весь код пжл...
|
|||
58
Voronve
25.05.11
✎
14:07
|
ТС дибил
|
|||
59
aleks-id
25.05.11
✎
14:08
|
похоже автор толстый тролль
|
|||
60
PuhUfa
25.05.11
✎
14:08
|
(44) не взлетит -)
2 + 2 = 3.9999999999999999999999999999999... |
|||
61
Дикообразко
25.05.11
✎
14:09
|
(53) надо было так делать
Если Ном = Формат(1,"ЧЦ=10; ЧВН=; ЧГ=0") Тогда Возврат "1" ИначеЕсли Ном=Формат(2,"ЧЦ=10; ЧВН=; ЧГ=0") Тогда Возврат "2" ИначеЕсли Ном=Формат(3,"ЧЦ=10; ЧВН=; ЧГ=0") Тогда Возврат "3" ИначеЕсли Ном=Формат(4,"ЧЦ=10; ЧВН=; ЧГ=0") Тогда Возврат "4" ..... КонецЕсли; |
|||
62
Нуф-Нуф
25.05.11
✎
14:10
|
гыгыгы это развод :)
|
|||
63
rs_trade
25.05.11
✎
14:11
|
(53) дык можно же табличку соответствия забацать. Например на справочнике, а потом запросом получать соответствие.
|
|||
64
VladZ
25.05.11
✎
14:11
|
Абаржался!!!
|
|||
65
VladZ
25.05.11
✎
14:12
|
Тема дня, ё-моё...
|
|||
66
aleks-id
25.05.11
✎
14:12
|
(63) не по джедайски. табличку надо заполнять на лету :)
|
|||
67
Эмбеддер
25.05.11
✎
14:12
|
(61) Самое интересное должно быть там, где многоточие
|
|||
68
Попытка1С
25.05.11
✎
14:12
|
Даже миста перестала отображать код правильна...
|
|||
69
Дикообразко
25.05.11
✎
14:13
|
а можно еще вот так
Для Сч = 1 По 10000000000 Цикл Если Ном = Формат(Сч,"ЧЦ=10; ЧВН=; ЧГ=0") Тогда Возврат Сч; КонецЦикла |
|||
70
YV
25.05.11
✎
14:13
|
(53) Неужели индусы кодят уже и на 1с.
|
|||
71
VladZ
25.05.11
✎
14:13
|
(68) Миста обладает искуственным интелектом... Гов нокод не подсвечивается...
|
|||
72
rs_trade
25.05.11
✎
14:15
|
(66) да один раз можно. Количество записей, соответственно самой большой разрядности из всех документов. Надо же что бы универсально было, для многих документов )))
|
|||
73
Дикообразко
25.05.11
✎
14:15
|
(68) в лайфе не кажет
|
|||
74
forforumandspam
25.05.11
✎
14:16
|
(73) А в (43) тогда что?
|
|||
75
sda553
25.05.11
✎
14:16
|
Теперь Dooro надо создать кучу тем на мисте, чтобы эта тема похоронилась как можно глубже и как можно быстрее забылась
|
|||
76
Irbis
25.05.11
✎
14:17
|
(75) Это уже невозможно, такие темы забываются небыстро
|
|||
77
Mitriy
25.05.11
✎
14:17
|
(66) сделать регистр сведений...
Измерение - любой возможный номер документа с нулями... Ресурс - представление без нулей... заполнять в модуле сеанса и пользоваться... потом чистить, чтобы база не росла... |
|||
78
zbv
25.05.11
✎
14:17
|
(74) тогда тема была еще в V8
|
|||
79
Дикообразко
25.05.11
✎
14:17
|
(14)
тест
|
|||
80
Дикообразко
25.05.11
✎
14:17
|
(74) баг
|
|||
81
hhhh
25.05.11
✎
14:17
|
(70) дык, был же где-то здесь Индийска Программиста.
|
|||
82
Попытка1С
25.05.11
✎
14:18
|
(75) Легче новый ник придумать..
|
|||
83
sda553
25.05.11
✎
14:19
|
(82) три года опыта пропадет
|
|||
84
1Сергей
25.05.11
✎
14:19
|
Формат(НомерДок,"Ч10"); // для 1с77
|
|||
85
lxs
25.05.11
✎
14:19
|
Процедура dooro(ТвойКод)
Нуль = Найти(ТвойКод, Символ(48)); Если Нуль Тогда ТвойКод = Сред(ТвойКод,2); dooro(ТвойКод); КонецЕсли; КонецПроцедуры |
|||
86
1Сергей
25.05.11
✎
14:19
|
0+Номердок
|
|||
87
VladZ
25.05.11
✎
14:19
|
(75) Да ладно вам! Человек развивается... Двигается куда-то... Вот уже дошел до "Число"... :)
|
|||
88
Попытка1С
25.05.11
✎
14:20
|
(83) Где ты опыт увидел...
|
|||
89
hhhh
25.05.11
✎
14:20
|
(77) правильно, классификатор номеров. И пусть 1С по интернету всем подписчикам ИТС бесплатно его высылает.
|
|||
90
Дикообразко
25.05.11
✎
14:20
|
(86) в 8ке вылетит
|
|||
91
sda553
25.05.11
✎
14:21
|
(88) В лк у Dooro
написано стаж 3 года |
|||
92
1Сергей
25.05.11
✎
14:21
|
(90) а в 7 нет :)
|
|||
93
VladZ
25.05.11
✎
14:21
|
(89) Название нужно придумать... Типо Общероссийский Классификатор Номеров: ОКН.
|
|||
94
aleks-id
25.05.11
✎
14:21
|
(85) а что - разрешено рекурсивно вызывать процедуры?
|
|||
95
Mitriy
25.05.11
✎
14:21
|
(89) зачем? можно ссылку на инф_остарте продавать за деньги...
|
|||
96
VladZ
25.05.11
✎
14:21
|
+93 ...номеров документов: ОКНД.
|
|||
97
Дикообразко
25.05.11
✎
14:22
|
(92) знаю... уроды еще те
|
|||
98
sda553
25.05.11
✎
14:22
|
(94) ЭЭЭЭЭ...это шутка?
|
|||
99
Попытка1С
25.05.11
✎
14:22
|
(91) Это я видел, только где опыт не понял =)
|
|||
100
Mitriy
25.05.11
✎
14:22
|
(95)+ а здесь рекламу повесить...
|
|||
101
forforumandspam
25.05.11
✎
14:22
|
(94) О_О
|
|||
102
VladZ
25.05.11
✎
14:22
|
(94) Ну вообще-то нельзя... Но если никто не видит - то можно.
|
|||
103
Дикообразко
25.05.11
✎
14:22
|
(94) О_о... меняй ник
|
|||
104
lxs
25.05.11
✎
14:22
|
(94) а ты попробуй, удивишься
|
|||
105
Mitriy
25.05.11
✎
14:22
|
(98) нет... это заразно...
|
|||
106
Дикообразко
25.05.11
✎
14:23
|
среда удалась
|
|||
107
Mitriy
25.05.11
✎
14:23
|
(102) где нельзя?
|
|||
108
YurOK_51
25.05.11
✎
14:23
|
Просто ржу :)
|
|||
109
Nagaru
25.05.11
✎
14:23
|
Тоже помогу ТС, написал функцию, она работает для длины номера в 10 символов, но можно чуть подделать и будет очень универсально
Функция ПолучитьНомерБезНулей(НомерДок) Номер = 0; Пока Истина Цикл Номер = Номер + 1; Если Прав(НомерДок, СтрДлина(Строка(Номер))) = Строка(Номер) Тогда Итератор = 0; НулиСлева = ""; Пока Итератор < 10 - СтрДлина(Строка(Номер)) Цикл НулиСлева = НулиСлева + "0"; КонецЦикла; Если Лев(НомерДок, 10 - СтрДлина(Строка(Номер))) = НулиСлева Тогда Возврат Номер; КонецЕсли; КонецЕсли; КонецЦикла; КонецФункции; |
|||
110
aleks-id
25.05.11
✎
14:23
|
(103) нас за это в институте по рукам били и заставляли делать рекурсивные функции.
|
|||
111
Дикообразко
25.05.11
✎
14:24
|
(92)кстати, в 8ке и бесконечная рекурсия не интересно работает :(
вылетает |
|||
112
Дикообразко
25.05.11
✎
14:24
|
(110) делай рекурсивные подпрограммы...
|
|||
113
1Сергей
25.05.11
✎
14:25
|
(111) хе :) я всегда говорил, что восьмерка гав но
|
|||
114
sda553
25.05.11
✎
14:25
|
(111) А есть что то, где бесконечная рекурсия работает интересно?
|
|||
115
Дикообразко
25.05.11
✎
14:25
|
(114) попробуй на 77 :)
|
|||
116
1Сергей
25.05.11
✎
14:26
|
(115) + 100500
|
|||
117
stix2010
25.05.11
✎
14:26
|
я плакаль
|
|||
118
VladZ
25.05.11
✎
14:26
|
(107) Вот этому товарищу нельзя: aleks-id
|
|||
119
Dooro
25.05.11
✎
14:27
|
almar спасибо за
Пока Лев(Номер,1)="0" Цикл Номер=Сред(Номер,2); КонецЦикла; |
|||
120
Дикообразко
25.05.11
✎
14:27
|
мля :)))))))))))
|
|||
121
Дикообразко
25.05.11
✎
14:27
|
(117) +1
|
|||
122
1Сергей
25.05.11
✎
14:28
|
бугага :))))
|
|||
123
Попытка1С
25.05.11
✎
14:28
|
almar подонок...
|
|||
124
Дикообразко
25.05.11
✎
14:28
|
(119) чем (8) не устроило?
|
|||
125
lxs
25.05.11
✎
14:29
|
(119) Это просто звиздец какой-то! Это просто генитально! Звезду товарищу almar! остальных на колыму!
|
|||
126
VladZ
25.05.11
✎
14:29
|
(119) Бу-га-га!!!!
|
|||
127
aleks-id
25.05.11
✎
14:29
|
админы, вычислите тс по ип, накатайте руководству - пусть выкинут с соответствующей записью в трудовой!!!
|
|||
128
fisher
25.05.11
✎
14:30
|
(124) Ниасилен принцип действия.
И автор пока не признался, может он документы так перенумеровывает. |
|||
129
rs_trade
25.05.11
✎
14:30
|
(111) ага, у SQL сервера бесконечные дедлоки тоже не интересно работают. отваливаются почему то.
|
|||
130
Stado_adama
25.05.11
✎
14:30
|
(119) :))))))
|
|||
131
МойКодУныл
25.05.11
✎
14:30
|
В конфе "КД" есть очень много уже написанных функций для работы с номерами и приведением их к нужной длине, выделению префиксов и прочих. Можно посмотреть там)
(119) а если префикс?) |
|||
132
КонецЕсли
25.05.11
✎
14:30
|
(124) он же сказал: "номер и так тип строка.". А в (8) Строка(...)
з.ы вообще-то в (8) надо формат(..) |
|||
133
Ksandr
25.05.11
✎
14:30
|
Данную тему теперь нужно давать почитать всем кто ищет работничков :) чтобы знали, что можно получить от прогера за стотыщ и больше
|
|||
134
VladZ
25.05.11
✎
14:30
|
(127) не умничай! Иди про рекурсию читай!
|
|||
135
stix2010
25.05.11
✎
14:31
|
Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться.
|
|||
136
Irbis
25.05.11
✎
14:31
|
(132) формат там накуй не нужен, если в номере только цифры, как у ТС.
|
|||
137
forforumandspam
25.05.11
✎
14:32
|
(119) БаГаГа!
|
|||
138
Дикообразко
25.05.11
✎
14:32
|
(132) Вадим, вот от тебя я этого не ожидал,
загони в табло Строка(Число("00000001")) и удивись |
|||
139
almar
25.05.11
✎
14:32
|
День прожит не зря!
|
|||
140
Конфигурист
25.05.11
✎
14:32
|
Через вебсевис надо делать.
|
|||
141
Irbis
25.05.11
✎
14:33
|
(138) причем в клюшках тоже работает, мультиплатформенный код получается
|
|||
142
lxs
25.05.11
✎
14:33
|
Вспоминается Ганжа и тот жмот из Большой перемены.. "Аттракцион неслыханной..." тупости..
|
|||
143
hhhh
25.05.11
✎
14:33
|
(133) вроде он с Украины. Там не стотыщ.
|
|||
144
Nagaru
25.05.11
✎
14:33
|
(140) А может кто-нить запрос накатает, который вернет нужный номер?
|
|||
145
Дикообразко
25.05.11
✎
14:35
|
(141) на клюшках (86) короче будет
|
|||
146
КонецЕсли
25.05.11
✎
14:36
|
(138) "Вадим" - как бэ тоже, Внезапно! :)
|
|||
147
Дикообразко
25.05.11
✎
14:37
|
(146) пардон, совсем дурной стал КонецЕсли с КонецЦикла путаю
|
|||
148
forforumandspam
25.05.11
✎
14:37
|
Напишу полный вариант к (41)
СтрЗаменить(СокрЛП(СтрЗаменить("0000001001", "0", " ")), " ", "0") |
|||
149
and2
25.05.11
✎
14:38
|
мля.
где ж тут кнопка то - "добавить в базу знаний" ? |
|||
150
1Сергей
25.05.11
✎
14:38
|
(148) тема
|
|||
151
DrShad
25.05.11
✎
14:38
|
(148) интересный ход
|
|||
152
Dooro
25.05.11
✎
14:38
|
almar не зря :)
Сколько людей не добрых , ужас. |
|||
153
zbv
25.05.11
✎
14:39
|
(136)
00001000 - что будет на выходе из (8)? |
|||
154
Дикообразко
25.05.11
✎
14:39
|
(148) 5 баллов
|
|||
155
Irbis
25.05.11
✎
14:39
|
(148) "010" Как отработает послеСокрЛП
|
|||
156
VladZ
25.05.11
✎
14:39
|
(148) Однако!
|
|||
157
Дикообразко
25.05.11
✎
14:39
|
(153) "1000"
|
|||
158
hhhh
25.05.11
✎
14:40
|
(155) йес!
СтрЗаменить(СокрЛ(СтрЗаменить("0000001001", "0", " ")), " ", "0") |
|||
159
forforumandspam
25.05.11
✎
14:40
|
(155) Там будет " 10".
|
|||
160
VladZ
25.05.11
✎
14:40
|
Да ладно вам.. Навалились... Мысль-то верная!
|
|||
161
DrShad
25.05.11
✎
14:40
|
(158) 5+
|
|||
162
PR
25.05.11
✎
14:40
|
(148) Что будет с "000 Васе И. 24"?
|
|||
163
forforumandspam
25.05.11
✎
14:41
|
(158) Точно!!!
|
|||
164
zbv
25.05.11
✎
14:41
|
(157) а НПП куда делся ?
|
|||
165
and2
25.05.11
✎
14:41
|
СокрЛП(СтрЗаменить(СокрЛ(СтрЗаменить("0000001001", "0", " ")), " ", "0"))
|
|||
166
Дикообразко
25.05.11
✎
14:41
|
(155) прав, вот так будет правильно
СтрЗаменить(СокрЛ(СтрЗаменить("0000001001", "0", " ")), " ", "0") |
|||
167
DrShad
25.05.11
✎
14:42
|
(165) баян
|
|||
168
and2
25.05.11
✎
14:42
|
(167) а вдруг справа пробел?
|
|||
169
1Сергей
25.05.11
✎
14:42
|
(148) СокрЛП заменить на СокрЛ и последние нули не стерутся
|
|||
170
Дикообразко
25.05.11
✎
14:43
|
(165) он про (158)
|
|||
171
Дикообразко
25.05.11
✎
14:43
|
(167) (167) он про (158)
|
|||
172
DrShad
25.05.11
✎
14:43
|
(168) откуда?
|
|||
173
Дикообразко
25.05.11
✎
14:43
|
(164) откуда ему там взяться?
|
|||
174
Mitriy
25.05.11
✎
14:43
|
люблю мисту... добрые люди... отзывчивые...
|
|||
175
Dooro
25.05.11
✎
14:44
|
я тоже люблю :)
|
|||
176
Дикообразко
25.05.11
✎
14:44
|
(172) СтрЗаменить(СокрЛП(СтрЗаменить("010", "0", " ")), " ", "0")
|
|||
177
forforumandspam
25.05.11
✎
14:44
|
Подняли настроение...
|
|||
178
Irbis
25.05.11
✎
14:44
|
(173) Будет, снеговик вредный. Придется форматировать
|
|||
179
DrShad
25.05.11
✎
14:45
|
(175) пиши еще!
|
|||
180
Дикообразко
25.05.11
✎
14:46
|
(178) ну и хер с ним :)
|
|||
181
and2
25.05.11
✎
14:46
|
(172)баян.
экзамен в ГАИ. Э. спрашивает - "кто из этих трех машин первый проедет перекресток" С. - "водитель маршрутки" Э. - "его ж тут нет" С. - "сейчас подъедет" |
|||
182
zbv
25.05.11
✎
14:47
|
(180) что значит хер сним!?
потом же будет ветка "Как убрать пробел?" :) |
|||
183
hhhh
25.05.11
✎
14:47
|
всё равно алмара способ быстрее отработает, хоть этот и в одну строчку.
|
|||
184
Irbis
25.05.11
✎
14:54
|
(182) Это будет завтра, надо же улыбнуться в конце рабочего дня.
|
|||
185
PowerBoy
25.05.11
✎
14:56
|
Для н = 1 до 10 Цикл
Если Лев(Номер,10-н)= Лев("0000000000",10-н)Тогда Номер=Сред(Номер,10-н); Прервать; КонецЕсли; КонецЦикла; |
|||
186
DGorgoN
25.05.11
✎
15:04
|
Весна, миграция? Внезапно - видимо самый запоздалый..
|
|||
187
forforumandspam
25.05.11
✎
15:11
|
Решение с использованием запроса:
ВЫБРАТЬ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 1, 1) <> "0" ТОГДА &Строка ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 2, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 2, 9) ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 3, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 3, 8) ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 4, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 4, 7) ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 5, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 5, 6) ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 6, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 6, 5) ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 7, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 7, 4) ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 8, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 8, 3) ИНАЧЕ ВЫБОР КОГДА ПОДСТРОКА(&Строка, 9, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 9, 2) ИНАЧЕ ПОДСТРОКА(&Строка, 10, 1) КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КАК Поле2 |
|||
188
aleks-id
25.05.11
✎
15:11
|
(134) а вот с этого места поподробнее. в чем был неправ мой препод по системному программированию, заставивший всех использовать только рекурсивные функции и забыть использование рекурсии в процедурах?
|
|||
189
КонецЕсли
25.05.11
✎
15:13
|
А никто ещё не предупреждал ТС, что когда его обрезанный номер дойдет до 9 (99,999,9999...) то автонумерация у него закончится? А что будет с возможность сортировки по номеру в форме списка документов?
|
|||
190
forforumandspam
25.05.11
✎
15:15
|
+(187) Хотя зря столько вложенностей.
|
|||
191
forforumandspam
25.05.11
✎
15:16
|
ВЫБРАТЬ
ВЫБОР КОГДА ПОДСТРОКА(&Строка, 1, 1) <> "0" ТОГДА &Строка КОГДА ПОДСТРОКА(&Строка, 2, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 2, 9) КОГДА ПОДСТРОКА(&Строка, 3, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 3, 8) КОГДА ПОДСТРОКА(&Строка, 4, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 4, 7) КОГДА ПОДСТРОКА(&Строка, 5, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 5, 6) КОГДА ПОДСТРОКА(&Строка, 6, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 6, 5) КОГДА ПОДСТРОКА(&Строка, 7, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 7, 4) КОГДА ПОДСТРОКА(&Строка, 8, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 8, 3) КОГДА ПОДСТРОКА(&Строка, 9, 1) <> "0" ТОГДА ПОДСТРОКА(&Строка, 9, 2) ИНАЧЕ ПОДСТРОКА(&Строка, 10, 1) КОНЕЦ КАК Поле2 |
|||
192
dzemon666
25.05.11
✎
15:18
|
Рекурсию заказывали?
Функция УбратьНули(С,В=0) возврат(?(В>0,?(В =0,С*10,УбратьНули(С,В-1)*10 ),?(СтрДлина(С) = 1,КодСимв(Лев(С,1))-КодСимв("0"),УбратьНули(Лев(С,1),СтрДлина(С)-1)+УбратьНули(Прав(С,СтрДлина(С)-1))))); КонецФункции Вызов: УбратьНули("0000454654601") |
|||
193
dzemon666
25.05.11
✎
15:19
|
+(192) в одну строчку смотрится красивее.
|
|||
194
Злобный монстр
25.05.11
✎
15:20
|
Ржунимагу!!! ))))
|
|||
195
Nagaru
25.05.11
✎
15:23
|
Осталось только вариант в (191) динамически формировать в зависимости от длины строки в номере и можно сказать, что оптимальное решение найдено
|
|||
196
dzemon666
25.05.11
✎
15:28
|
Зря первый вариант выложил(192), надо было сразу этот
Функция С(С,C=0) возврат(?(C>0,?(C =0,С*10,С(С,C-1)*10 ),?(СтрДлина(С) = 1,КодСимв(Лев(С,1))-КодСимв("0") ,С(Лев(С,1) , СтрДлина(С)-1)+С(Прав(С,СтрДлина(С)-1))))); КонецФункции Работет только если скопируете с сообщения :-). |
|||
197
Nagaru
25.05.11
✎
15:29
|
(196) С и C разные?
|
|||
198
dzemon666
25.05.11
✎
15:30
|
(197) не пали контору
|
|||
199
rs_trade
25.05.11
✎
15:31
|
(187) хотел тоже подобное запостить, да писать обломался )))
|
|||
200
zak555
25.05.11
✎
15:31
|
мало вариантов
|
|||
201
МастерВопросов
25.05.11
✎
15:36
|
а предлагали такой способ?
Функция Преобразоватьвчисло(СтрокаСЗначением) Если ПустоеЗначение(СписокЗначений)=0 Тогда Список = СоздатьОбъект("СписокЗначений"); Список.ИзСтрокиСРазделителями(СтрокаСЗначением); ПолученноеЧисло=Список.ПолучитьЗначение(1); Возврат ПолученноеЧисло; Иначе Сообщить("Передано некоретное значение"); КонецЕсли; КонецФункции правда еще на запятые надо проверить, а то вернёт только целую часть числа |
|||
202
МастерВопросов
25.05.11
✎
15:41
|
+(201) update
Функция Преобразоватьвчисло(СтрокаСЗначением) Если ПустоеЗначение(СтрокаСЗначением)=0 Тогда Список = СоздатьОбъект("СписокЗначений"); Список.ИзСтрокиСРазделителями(СтрокаСЗначением); ПолученноеЧисло=Список.ПолучитьЗначение(1); Возврат ПолученноеЧисло; Иначе Сообщить("Передано некоретное значение"); КонецЕсли; КонецФункции |
|||
203
Jstunner
25.05.11
✎
15:46
|
Формат(Число(НомерСНулями), "ЧН=; ЧГ=");
|
|||
204
dzemon666
25.05.11
✎
15:48
|
Функция ВернутьЧисло(Строка1)
Число1 = Random(999999999); Пока Вопрос("Подходит "+Число1+" ?","Да+Нет") = "Нет" Цикл Число1 = Random(999999999); конецциикла КонецФункции |
|||
205
dzemon666
25.05.11
✎
15:49
|
(203) .. ты действуешь как новичек ...
|
|||
206
shamannk
25.05.11
✎
15:50
|
или так
Номер = Строка(0+номер); |
|||
207
Jstunner
25.05.11
✎
15:50
|
удивительно, хотя и задачка простенькая, но большинство даже не врубилось, что требуется. Все повелись на преобразование в число, хотя в (0) об этом ни слова..
|
|||
208
dzemon666
25.05.11
✎
15:53
|
Ошибся, млин, корректирую.
Функция ВернутьЧисло(Строка1) Число1 = Random(999999999); СколькоРазСпросили =0; Пока Вопрос("Подходит "+Число1+" ?","Да+Нет") = "Нет" Цикл Число1 = Random(999999999); СколькоРазСпросили = СколькоРазСпросили + 1; Если СколькоРазСпросили = 20 тогда Если Вопрос("Устал?","Да+Нет") = "Да" Цикл прервать; Конецесли; СколькоРазСпросили = 0; Конецесли; конецциикла возврат(Число1); КонецФункции |
|||
209
palpetrovich
25.05.11
✎
15:58
|
(201) в (0) кстати, не сказано и что нужно "_______209" или "209_______"
* _ - пробел |
|||
210
palpetrovich
25.05.11
✎
15:59
|
сорьки, (209) -> (207) ...кста, пост тоже 209 получился :)
|
|||
211
shamannk
25.05.11
✎
16:02
|
(210) Нужно три символа с конца оставить приме не очень хороший.
|
|||
212
Jstunner
25.05.11
✎
16:02
|
(209) в сабже все очевидно: _Убрать_первые_нули_ из номера
|
|||
213
palpetrovich
25.05.11
✎
16:04
|
(211) из сабжа нельзя сделать однозначный вывод ..впрочем как и вывод о авторе ветки. ...возможен развод
|
|||
214
1Сергей
25.05.11
✎
16:05
|
пля... вы ещё трёте об этом? Вот вам делать нефиг
|
|||
215
shamannk
25.05.11
✎
16:05
|
(212) И в (206) это не происходит? Преобразование в число идет)))
|
|||
216
wPa
25.05.11
✎
16:05
|
(213) может ему надо просто убрать видимость этих нулей ) перевести в числовой вид номер )
|
|||
217
Jstunner
25.05.11
✎
16:08
|
(215) в (206) происходит кривизна. Хинт: проверь для "1000"
|
|||
218
dzemon666
25.05.11
✎
16:09
|
(212)
Функция С(С)возврат(?(Лев(С,1)="0",С(Прав(С,СтрДлина(С)-1)),С));КонецФункции |
|||
219
Злобный монстр
25.05.11
✎
16:12
|
(208) Бу га га!! Блин ну нельзя же так... я чуть под стол не упал... до слез...
|
|||
220
Jstunner
25.05.11
✎
16:13
|
(218) хз, как у тебя, но мне бабушка еще лет двадцать назад рассказывала, "внучек, не юзай рекурсию на восьмерке!"
|
|||
221
Nagaru
25.05.11
✎
16:14
|
(220) А с деревом ты как работаешь?
|
|||
222
Jstunner
25.05.11
✎
16:15
|
(221) дерево - отдельная история, там без рекурсии сложно, но (218) решается простецким линейным алгоритмом
|
|||
223
dzemon666
25.05.11
✎
16:16
|
"(220) А с деревом ты как работаешь?"
Если Обект = "Дерево" тогда сообщить("Да ну его нафиг"); а=а/0; Конецесли; |
|||
224
dzemon666
25.05.11
✎
16:17
|
(222) .. но (218) решается простецким линейным алгоритмом
линейные для новичков |
|||
225
unknown181538
25.05.11
✎
16:20
|
вот вам всем заняться нечем!!) Может лучше коллективом обработочку за меня напишите?
|
|||
226
dzemon666
25.05.11
✎
16:20
|
(225) Дава описание. За результат не ручаемся.
|
|||
227
Nagaru
25.05.11
✎
16:25
|
(225) Тут главное правильно подойти к созданию темы, если народ заинтересуется, то напишут запросто, а если банальщина типа перегрузить платежки из экселя в УТ, то тут уже придется самому
|
|||
228
unknown181538
25.05.11
✎
16:49
|
(227) Банально - документ, 12 таб.частей, около 50 реквизитов шапки. Перенести из 7.7 в 8.2)
|
|||
229
unknown181538
25.05.11
✎
16:50
|
Но есть, например, отчет, который не смог написать. Результат не сильно важен, но, боюсь, тухлыми помидорами закидают)
|
|||
230
rs_trade
25.05.11
✎
17:01
|
(228) на кой черт таких монстров городить 99.9% что можно было сделать по другому
|
|||
231
vmlspb
25.05.11
✎
17:29
|
Запрос.Текст =
"ВЫБРАТЬ | ВЫБОР | КОГДА &Номер ПОДОБНО ""000000000_"" | ТОГДА ПОДСТРОКА(&Номер, 9, 1) | КОГДА &Номер ПОДОБНО ""00000000__"" | ТОГДА ПОДСТРОКА(&Номер, 8, 2) | КОГДА &Номер ПОДОБНО ""0000000___"" | ТОГДА ПОДСТРОКА(&Номер, 7, 3) | КОГДА &Номер ПОДОБНО ""000000____"" | ТОГДА ПОДСТРОКА(&Номер, 6, 4) | КОГДА &Номер ПОДОБНО ""00000_____"" | ТОГДА ПОДСТРОКА(&Номер, 5, 5) | КОГДА &Номер ПОДОБНО ""0000______"" | ТОГДА ПОДСТРОКА(&Номер, 4, 6) | КОГДА &Номер ПОДОБНО ""000_______"" | ТОГДА ПОДСТРОКА(&Номер, 3, 7) | КОГДА &Номер ПОДОБНО ""00________"" | ТОГДА ПОДСТРОКА(&Номер, 2, 8) | КОГДА &Номер ПОДОБНО ""0_________"" | ТОГДА ПОДСТРОКА(&Номер, 1, 9) | ИНАЧЕ &Номер | КОНЕЦ КАК Номер"; Запрос.УстановитьПараметр("Номер",Номер); можно еще в цикле собрать запрос ))) |
|||
232
AlexSmolensky
26.05.11
✎
09:32
|
еще один алгоритм
|
|||
233
dzemon666
26.05.11
✎
09:34
|
(232) А какая разница с (223)? :-).
|
|||
234
МастерВопросов
26.05.11
✎
11:54
|
оказывается в клюшках допускается такой синтаксис:
Если ВыбФирма = ПолучитьПустоеЗначение("Справочник.Фирмы") = 1 Тогда Предупреждение("Задайте непустое значение Фирмы"); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |