Имя: Пароль:
1C
1C 7.7
v7: Разделение числа на символы
,
0 JuixyJes
 
16.05.19
10:59
И снова здравствуйте, не подскажите, как мне число разбить на цифры а потом заполнить в разные переменные?
к примеру

Число = 123456;
Ц1  = 1;
Ц2 = 2;
Ц3 = 3;
Ц4 = 4;
Ц5 = 5;
Ц6 = 6;
1 HawkEye
 
16.05.19
11:01
(0) а как ты уже пробовала?
2 Масянька
 
16.05.19
11:02
(0) Лев(), Прав().
3 Looking
 
16.05.19
11:03
4 JuixyJes
 
16.05.19
11:04
(1)

Функция Рекурсия(Стр)
Если СтрДлина(стр)=1 тогда
    Сообщить (стр);
Иначе
    Рекурсия(Лев(Стр,СтрДлина(Стр)-1) );
    Сообщить(Сред(Стр,СтрДлина(Стр),1));
КонецЕсли;
КонецФункции
5 JuixyJes
 
16.05.19
11:05
+(4) нашла вот такую функцию, делить то она делит на цифры, а как мне записать каждую цифру в разные переменные?
6 Zmich
 
16.05.19
11:10
(5). А зачем переменные? Записывай в массив.
7 Bigbro
 
16.05.19
11:12
сз = создатьобъект("СписокЗначений");
Для й = 1 по стрДлина(стр) Цикл
сз.ДобавитьЗначение(й,Сред(стр,й,1));
КонецЦикла;
8 JuixyJes
 
16.05.19
11:13
(6) это делается для ввода снилса в печатной форме, символы должны печататься по отдельности, в отведенную для каждого символа ячейку

000-000-00000
с1 = 0
с2 = 0
с3 = 0
с5 = 0


Ну и так далее, "-" не заполняется.
9 Zmich
 
16.05.19
11:14
Стр = Строка(ВыбЧисло);
Для Счетчик = 1 По СтрДлина(Стр) Цикл
  Ц[Счетчик] = Число(Сред(Стр, Счетчик, 1));
КонецЦикла;
10 catena
 
16.05.19
11:15
(9)На дефисе оно и сдохнет)
11 Кодер
 
16.05.19
11:16
Элементарно.

Если Число = 123456 Тогда
   Ц1  = 1;
   Ц2 = 2;
   Ц3 = 3;
   Ц4 = 4;
   Ц5 = 5;
   Ц6 = 6;
ИначеЕсли Число = 123457 Тогда

дальше сама.
12 JuixyJes
 
16.05.19
11:17
(11) число, которое делится - уже имеющийся набор цифр.
13 JuixyJes
 
16.05.19
11:18
(9) а нужно переменную как массив объявить?
14 hhhh
 
16.05.19
11:20
(12) снилс - это вообще не число. Это строка с черточками. Что у вас за конфигурация там?
15 Mikeware
 
16.05.19
11:20
(13) а читать документацию нонче не принято?
16 Mikeware
 
16.05.19
11:22
(14) это ФОРМУЛА! :-)
там минус есть, и не один...
17 Looking
 
16.05.19
11:26
(13) см (3)
18 JuixyJes
 
16.05.19
11:29
Так, всем спасибо, разобралась, хорошего дня!
19 JuixyJes
 
16.05.19
11:29
(9) (3) в особенности вам
20 Карст
 
16.05.19
11:36
шаблон уже пофиг что ле ?
21 Mikeware
 
16.05.19
11:41
(20) тс-с-с....
не пугай...
22 user-ok
 
16.05.19
12:11
(0) давай уже все лабы одним постом
23 JuixyJes
 
16.05.19
12:28
(22) это не лабы, а дибильные заказы, но поскольку я недавно в 1С вообще впринципе пишу, вот такие вопросы задаю
24 Mikeware
 
16.05.19
12:29
(23) большому кораблю - большое плаванье. а дебильному сотруднику - дебильные заказы.©
25 user-ok
 
16.05.19
12:34
все твои вопросы проходятся в школе на информатике (какой класс врать не буду, у меня был 10-й, так у меня и информатика с 10-го была). перенести их на 1С - 10 минут чтения синтакс-помощника
26 Масянька
 
16.05.19
12:40
(24) (25) Вам фотка не нравится?
27 big
 
16.05.19
12:43
В каждом "квадратике" печатной формы пишем в свойствах ячейки Сред(СтрокаСнилс,НомерКвадратика,1)

Получится что-то типа

СтрокаСнилс = СтрЗаменить(Снилс,"-","");  // и т.п. для ненужных символов

и потом в "квадратиках"

Сред(СтрокаСнилс,1,1)
Сред(СтрокаСнилс,2,1)
Сред(СтрокаСнилс,3,1)
Сред(СтрокаСнилс,4,1)
Сред(СтрокаСнилс,5,1)
Сред(СтрокаСнилс,6,1)
Сред(СтрокаСнилс,7,1)

и т.д.
28 trad
 
16.05.19
13:05
(9) с лид.нулями работать будет не так как надо
29 Garykom
 
гуру
16.05.19
13:07
(0) В 1С можно задавать маску для полей ввода
30 Garykom
 
гуру
16.05.19
13:08
(1)-(29) Вы уверены что Вы 1Сники?
31 trad
 
16.05.19
13:09
(0) если в переменные (без массива)

Число = 123456;

Ц1 = Цел(Число/100000);
Число = Число - Ц1*100000;

Ц2 = Цел(Число/10000);
Число = Число - Ц2*10000;

Ц3 = Цел(Число/1000);
Число = Число - Ц3*1000;

Ц4 = Цел(Число/100);
Число = Число - Ц4*100;

Ц5 = Цел(Число/10);
Число = Число - Ц5*10;

Ц6 = Число;
32 Garykom
 
гуру
16.05.19
13:11
(31) А где цикл для любой длины числа?
33 trad
 
16.05.19
13:12
(32) в ТЗ такого нет
34 Garykom
 
гуру
16.05.19
13:19
(33) "к примеру " в ТЗ и "как мне число разбить на цифры а потом заполнить в разные переменные?"
35 Slypower
 
16.05.19
13:20
(33) так в ТЗ стоит "к примеру", а точное тз
36 trad
 
16.05.19
13:25
(34) вот ТЗ:
Число = 123456;
Ц1  = 1;
Ц2 = 2;
Ц3 = 3;
Ц4 = 4;
Ц5 = 5;
Ц6 = 6;
37 trad
 
16.05.19
13:28
(34) (35) "в разные переменные" - тоже в ТЗ
Ц1, Ц2 .. - и есть разные переменные
использование динамических коллекций по ТЗ не предполагается
38 Garykom
 
гуру
16.05.19
13:29
(36) Заказчикам так же скажешь что в ТЗ не было?

(37) Не умеешь разные переменные динамически создавать?
39 trad
 
16.05.19
13:30
(38) с заказчиками будет составлено правильное тз
не умею, научи
40 Garykom
 
гуру
16.05.19
13:33
(39) В JS можно, а JS можно внутри 1С через ПолеHTML.
41 trad
 
16.05.19
13:34
о даа
42 trad
 
16.05.19
13:37
(40) в выражении ячейки таблицы что напишешь?
43 Slypower
 
16.05.19
13:39
(36) Так вы читает через строчку!!!
Вот ТЗ:

"И снова здравствуйте, не подскажите, как мне число разбить на цифры а потом заполнить в разные переменные?
к примеру "

А остальное пример.
44 trad
 
16.05.19
13:41
(43) ну да: "в разные переменные", как в (31)
45 Slypower
 
16.05.19
13:43
(44) да, если будет не 6 символов а 10? Сколько раз нужно дорабатывать? Почему цикл не сделать? Вот у вас и спросили в (32), где цикл. Ваше решение узкое и не полностью соответствует тех заданию.
46 trad
 
16.05.19
13:47
(45) сделал бы циклом в разные переменные, если бы умел
47 HawkEye
 
16.05.19
13:48
да какие там разные переменные... Женя разбирает СНИЛС кол-во символов в СНИЛСЕ известно, так что нефиг лохматить бабушку...
48 trad
 
16.05.19
13:48
сейчас придет Ёпрст, и покажет свой... Шаблон()
49 Mikeware
 
16.05.19
13:49
(48) с языка снял....
50 trad
 
16.05.19
13:49
Женя ?
51 HawkEye
 
16.05.19
13:50
(50) ну Лиза, я не проверял )))
52 Mikeware
 
16.05.19
13:50
(47) если слнилс начнется с нуля (кстати, может?) то ведущий ноль пропадет
53 trad
 
16.05.19
13:51
ага, Лиза... в свитере... с бородой
54 trad
 
16.05.19
13:52
(52) угу, писал в (28)
55 Mikeware
 
16.05.19
13:53
(53) ... и болтает ерундой
56 Mikeware
 
16.05.19
13:54
57 HawkEye
 
16.05.19
13:57
(52) с чего он пропадет? ну точнее, как писать так и работать будет )
58 Garykom
 
гуру
16.05.19
14:04
(53) В телеграм писал парень типа от имени девушки
59 Duke1C
 
16.05.19
19:27
(23) Да ну нафик, так не бывает...
Девочка 20-и лет отроду и в семёрку...
60 MWWRuza
 
гуру
16.05.19
20:22
(59)Ну, почему... Жить захочешь - не так раскорячишься!(С)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший