Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
13 / 13 / 5
Регистрация: 24.04.2013
Сообщений: 147
Записей в блоге: 1
1C 8.x

преобразование в дату

19.06.2013, 10:15. Показов 3734. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
имеем задачку: в строку вводим ( к примеру) qww1212we1212g
нам должно выдавать дату и убирать лишние символы, оставляя только числа.

Процедура Кнопка1Нажатие(Элемент)

ПолеВвода2 = СокрЛП(ПолеВвода1);

Для н = 1 По СтрДлина(ПолеВвода2)
Цикл
ТекСимвол = Сред(ПолеВвода2, н, 1);
Если Найти("0123456789", ТекСимвол) = 0
Тогда
ПолеВвода2 = СтрЗаменить(ПолеВвода2, ТекСимвол, " ")
КонецЕсли;
КонецЦикла;

УдаляемПробелы.УдалениеПробелов(ПолеВвод а2);
ПолеВвода2 = Формат(Дата(Прав(ПолеВвода2,4), Сред(ПолеВвода2,3,2), Лев(ПолеВвода2,2)),"ДФ=dd.MM.yyyy");

КонецПроцедуры;



проблема в том, что если вводить строку без символов между чисел - все работает, а если вводить символы между числами программа зависает и снимать приходится через диспетчер. помогите отладить ДАННЫЙ код
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.06.2013, 10:15
Ответы с готовыми решениями:

Преобразование В Дату
С удивлением обнаружил проблему. Надо строку преобразовать в Дату. А ф-ия Дата("23.01.2013") выдала целое ругалово и ошибку...

Вытащить номер платежки и её дату, дату договора
Ищу прекрастного принца 1С с корыстной целью. Поссорилась с нашим программистом. Заявила, что его работу сама могу сделать. А сама...

Преобразование строки в дату
Доброго времени суток. Имеется строка вида "2014.03.02". Как ее преобразовать к типу Дата, такого вида: "02.03.2014...

5
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
19.06.2013, 10:31
наоборот сделайте: перекидайте цифры в новую строку. А то Вам приходится менять зюки на пробелы, а потом удалять. Может, баг там.

Добавлено через 2 минуты
и учтите, что СтрЗаменить() заменяет все указанные символы. т.е. уничтожение пробелов это
Стр=СтрЗаменить(Стр," ","");
0
13 / 13 / 5
Регистрация: 24.04.2013
Сообщений: 147
Записей в блоге: 1
19.06.2013, 10:48  [ТС]
не могли бы исправить тут, просто очень нужно, а 1С нету под рукой

Добавлено через 9 минут
тут вроде бы цикл идет бесконечно... зацикливание происходит (возможно не прав)
0
858 / 657 / 112
Регистрация: 01.11.2012
Сообщений: 2,411
19.06.2013, 11:05
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Процедура Кнопка1Нажатие(Элемент)
 
НачСтр= СокрЛП(ПолеВвода1);
N=СтрДлина(НачСтр);
Стр="";
 
Для н = 1 По N Цикл
      ТекСимвол = Сред(НачСтр, н, 1); 
      Если Найти("0123456789", ТекСимвол) = 0 Тогда Продолжить КонецЕсли;
      Стр = Стр+ТекСимвол;
КонецЦикла;
 
ПолеВвода2 = Формат(Дата(Прав(Стр,4), Сред(Стр,3,2), Лев(Стр,2)),"ДФ=dd.MM.yyyy");
 
КонецПроцедуры;
1
13 / 13 / 5
Регистрация: 24.04.2013
Сообщений: 147
Записей в блоге: 1
19.06.2013, 11:08  [ТС]
Возможно что-то не то в функции Удаления пробелов:

Функция УдалениеПробелов(Предложение)Экспорт
Предложение = СокрЛП(Предложение);
Пока Найти(Предложение, " ")
Цикл
Предложение = СтрЗаменить(Предложение, " ", "");
КонецЦикла
КонецФункции
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
19.06.2013, 13:50
Xomych Вам предложил полное решение. Без удаления пробелов.
Далее СтрЗаменить(Предложение, " ", "") сносит все пробелы за один раз - это для кругозора.

Добавлено через 1 минуту
И Вы уверены, что цифр там ровно 8?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.06.2013, 13:50
Помогаю со студенческими работами здесь

Преобразование строки в дату
Есть строка формата: "YYYY-MM-DD HH:MM:SS" или "2010-10-06 22:33:44" можно ее как нибудь не разбирая все на части перевести в...

Преобразование строки в дату
Добрый день! Простите, что отвлекаю вопросом по избитой теме, но что-то не могу разобраться с этим вопросом. Процедура принимает...

Преобразование чисел в дату
Добрый день. Имеется длинная функция. Она стыкует между собой 52 столбца (N какое то число), что подразумевает собой количество недель в...

CAST() преобразование в дату
Добавил колонку в таблицу $sql_1="ALTER TABLE `my` ADD `time2` date"; Теперь хочу использовав CAST() вставить время ...

Преобразование строки в дату
Здравствуйте! Есть дата - время, например: 08/20/15 01:37:00 PM В программе реализовал получение вручную (распарсил строку). ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru