Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Получить кол-во месяцев из строки (пример)- "Стаж для больничного: 0г.9мес. 27д."

Получить кол-во месяцев из строки  (пример)- "Стаж для больничного: 0г.9мес. 27д."
Я
   SkillUp
 
23.11.18 - 15:15
Получить кол-во месяцев из строки  (пример)- "Стаж для больничного: 0г.9мес. 27д."

Есть идеи, как такое выполнить?
 
 
   Полбатона
 
1 - 23.11.18 - 15:16
>Есть идеи, как такое выполнить?
Через Ж. У вас проблема в архитектуре.
   SkillUp
 
2 - 23.11.18 - 15:18
(1) Можно еще в капсуле жить )))
   andreymongol82
 
3 - 23.11.18 - 15:19
(0) RegExp разве что...
   SkillUp
 
4 - 23.11.18 - 15:22
(3) Мда...
   azernot
 
5 - 23.11.18 - 15:23
Ищем "мес.", обрезаем строку до этого места.
Ищем ".", обрезаем после этого места.
Заменяем всё, что не цифра на ничего
преобразуем в число.
   azernot
 
6 - 23.11.18 - 15:24
"Стаж для больничного: 0г.9мес. 27д." 
"Стаж для больничного: 0г.9"
"9"
9
   Скиурус
 
7 - 23.11.18 - 15:24
Поз1 = СтрНайти(ИсходнаяСтрока, "г.");
Поз2 = СтрНайти(ИсходнаяСтрока, "мес.");
КоличествоМесяцев = Число(Сред(ИсходнаяСтрока, Поз1 + 3, Поз2 - Поз1));
   Скиурус
 
8 - 23.11.18 - 15:25
Ну там с последним членом, который Поз2-Поз1 - сам подумай, надо еще 3 отнять (или 4)
   Джинн
 
9 - 23.11.18 - 15:26
(2) Можно и  в капсуле. И можно и гланды через жопу доставать.
   Lexey_
 
11 - 23.11.18 - 15:29
(0) СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивСлов("Стаж для больничного: 0г.9мес. 27д.", "Стаж для больничного:,г.,мес.,д.")
   SkillUp
 
12 - 23.11.18 - 15:30
(7) О, идея! (11) Тоже неплохо, сейчас попробую...
   Lexey_
 
13 - 23.11.18 - 15:30
+(11) СтрРазделить("Стаж для больничного: 0г.9мес. 27д.", "Стаж для больничного:,г.,мес.,д.", Ложь)
   SkillUp
 
14 - 23.11.18 - 15:31
(10) Та не че, не рухнет, просто надо данными печатную форму заполнить, нужно количество месяцев... И все...
   exwill
 
15 - 23.11.18 - 15:32
А вот еще вопрос. У меня есть два числа 2 и еще 2. Нужно получить 4. Как это лучше сделать? Помогите, пожалуйста, уже всю голову сломал.
   SkillUp
 
16 - 23.11.18 - 15:34
(15) ха-ха-ха...
   exwill
 
17 - 23.11.18 - 15:44
(16) Ты бы не смеялся, а подсказал лучше.
   Garykom
 
18 - 23.11.18 - 15:46
(15)(17) Разложи свои два числа на единицы (1 1   1 1) и затем посчитай на пальцах сколько единиц вышло.
   exwill
 
19 - 23.11.18 - 15:49
(18) Все вы над новичками только издеваетесь. Мне не на пальцах, а в программе нужно. И зачем мне твои единицы? Я же русским языком написал: у меня двойки. И не четыре а две.
   Garykom
 
20 - 23.11.18 - 15:50
(18) в т.ч. к (0) только числа 3
1 год = 12 месяцев
месяцы понятно 1 в 1
Вот с дням все сложнее, надо знать какой год, високосный или нет чтобы по формуле посчитать 1 день = (кол-во месяцев в году)/(кол-во дней в году) месяцев
   ZDenis
 
21 - 23.11.18 - 15:51
(19) Четыре из двух двоек можно получить 2 путями: умножением и сложением.
   Garykom
 
22 - 23.11.18 - 15:52
(19) Ааа так бы и сказал что надо готовую программу написать!

Кстати мы как раз на этом себе на хлебушек зарабатываем.

Можем так уж и быть сделать скидочку... заказывай.
   Garykom
 
23 - 23.11.18 - 15:53
(21) А если двое больше то только делением можно четыре получить?
   Garykom
 
24 - 23.11.18 - 15:53
(23) *двоек больше
   exwill
 
25 - 23.11.18 - 15:53
(21) Я пробовал pow(2,2). Вроде 4 получается. Но я что-то сомневаюсь, будет ли это всегда работать.
   exwill
 
26 - 23.11.18 - 15:54
(23) Я брал 5 двоек и получал почти четыре.
   exwill
 
27 - 23.11.18 - 15:55
(22) Да вы мне только намекните, а дальше я сам.
   exwill
 
28 - 23.11.18 - 15:57
+(26) Но как из двух двоек получить пять? Не могу догадаться.
   SkillUp
 
29 - 23.11.18 - 16:00
Всем кто что-то норм. посоветовал ,СПАСИБО! Вопрос закрыт...
   dezss
 
30 - 23.11.18 - 16:00
(28) 2+2=8...дальше сам догадаешься
   exwill
 
31 - 23.11.18 - 16:04
(30) А где 4?
   exwill
 
32 - 23.11.18 - 16:07
+(31) И почему у вас только две двойки? Здесь умные люди говорят, что надо больше двоек.
   dezss
 
33 - 23.11.18 - 16:08
(31) 4 в "сам догадаешься"...а двоек может быть сколько угодно, ты же знаешь что нужно в итоге, поэтому можешь и не ограничивать себя...
 
 
   loololool
 
34 - 23.11.18 - 16:21
Говорят, что любое число можно получить из 4-х 4-ок. Так что - бросайте с двойками экспериментировать, всё уже проверено до нас.
   SkillUp
 
35 - 23.11.18 - 16:27
(31) Спасибо! То, новичкам тут ой как тяжко )))
   SkillUp
 
36 - 23.11.18 - 16:29
(32) Иногда, вместо какого-то более-менее совета, начитаешься в свой адрес ))))...
   exwill
 
37 - 23.11.18 - 16:31
(35) Тяжело в учении - легко в походе. Успехов вам!
   SkillUp
 
38 - 23.11.18 - 16:31
(7) Очень пригодилось...
   SkillUp
 
39 - 23.11.18 - 16:31
(37) Спасиб!
   МихаилМ
 
40 - 23.11.18 - 16:32
(36) правильно . с детскими вопросами - на детские форумы идите.
   SkillUp
 
41 - 23.11.18 - 16:51
(40) Ну, вот, опять!  Интересно, хотелось бы посмотреть, на тебя. Когда только учился...
   МихаилМ
 
42 - 23.11.18 - 16:53
(41) парсингу текста я в школе учился 7-10 классе.
   SkillUp
 
43 - 23.11.18 - 17:13
(42) За текст, согласен с тобой...
   ptiz
 
44 - 23.11.18 - 17:16
(42) О! Это на каких компьютерах в те времена парсингу текста обучали?
   Garykom
 
45 - 23.11.18 - 17:31
(44) На первых пнях
   Конструктор1С
 
46 - 23.11.18 - 17:37
НоваяСтрока = "";
СтрВсеЧисла = "0123456789";
    
Для Сч = 1 По СтрДлина(ИсходнаяСтрока) Цикл
    Символ = Сред(ИсходнаяСтрока, Сч, 1);
    Если СтрНайти(СтрВсеЧисла, Символ) = 0  Тогда
        Символ = " ";
    КонецЕсли;     
    НоваяСтрока = НоваяСтрока + Символ;
КонецЦикла;  
    
МассивЧисел = СтрРазделить(НоваяСтрока, " ", Ложь);// 0, 9, 27
   МихаилМ
 
47 - 23.11.18 - 17:38
(44) robotron,amstrad, двк2, см 128
   loololool
 
48 - 23.11.18 - 17:39
Спектрум не забываем.
   Конструктор1С
 
49 - 23.11.18 - 17:39
+(46) код переварит любую строку и вытащит все числа слева направо
 
 Рекламное место пустует
   loololool
 
50 - 23.11.18 - 17:42
(44) Да и, к тому же, в "те" времена - программирование на листиках в клеточку изучалось, в основном. Дебагером писаных парсеров - был препод.
   Garykom
 
51 - 23.11.18 - 17:42
(48) Какие к черту спектрумы, в большинстве школ до 1986 года не было компьютерных классов.
"Большинстве" - это 99% школ.
   loololool
 
52 - 23.11.18 - 17:42
*Учитель, т.е. Преподы  - в универе дебажили асм.
   Garykom
 
53 - 23.11.18 - 17:43
(47) У вас была "понтовая" школа
   loololool
 
54 - 23.11.18 - 17:44
(51) Я не настолько стар. В 86 - уже был в школе и к 5-ому классу у нас во всю информатику гнали. В нашем посёлке, в 50-ти километрах о крупного города.
   loololool
 
55 - 23.11.18 - 17:45
А в Московской области, в это время, чуть ли не Айбиэмки появлялись.
   Garykom
 
56 - 23.11.18 - 17:55
(54) В нашем областном центре https://ru.wikipedia.org/wiki/Электроника_МС_0511 начали примерно в 1989 поступать и только в отдельные школы. В курсе потому что работал в этой сфере некоторое время.

В большинстве информатика была бумажно-теоретическая с редкими визитами куда то "посмотреть".
Мне повезло что в лицее куда поступил с 8-го класса (1994), сначала был древний класс ямах мсх2 с несколькими XTшками и парой 486, а потом купили новенькие P133.

В большинстве же школ до 1990 годов даже если были (поступили) компьютерные классы, то была дикая проблема с кадрами/спецаилистами чтобы установить/развернуть и обучать практически. Поэтому была голая теория по бумажкам.
   Garykom
 
57 - 23.11.18 - 17:56
(56)+ В смысле работал когда эту древность (часто прямо из кладовок завхозов) списывали нафуй и ставили новые классы на P2-P3
   SkillUp
 
58 - 23.11.18 - 18:00
(46) Спасибо.
   МимохожийОднако
 
59 - 23.11.18 - 18:07
(41) Это напомнило как мне говорили дети в минуту обиды: "Когда ты будешь маленьким, мы тебя так же делать будем". ))


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует