|
Как убрать пробел из даты? | ☑ | ||
---|---|---|---|---|
0
Billi Milligan
15.01.19
✎
12:47
|
Наши бухи в текущем месяце выставляют счета за прошлый месяц. Поэтому в печатной форме в Январе 2019 должно быть декабрь 2018.
С выводом месяца проблем нет. Но вот с годом ситуация иная. При выводе появляется пробел после двойки и в итоге в печатной форме выводится "...за декабрь 2 018". Это происходит только в январе, когда нужно печатать за декабрь и отнимать один год кусок кода: Если Формат(Дата1, "ДФ=ММММ") = "Январь" Тогда Год_1 = Формат(Дата1, "ДФ=гггг")-1; Иначе Год_1 = Формат(Дата1, "ДФ=гггг"); КонецЕсли; Как убрать этот пробел? Помогите, люди добрые |
|||
1
Волшебник
15.01.19
✎
12:48
|
||||
2
Ненавижу 1С
гуру
15.01.19
✎
12:52
|
(0) какой-то быдлокод
|
|||
3
arsik
гуру
15.01.19
✎
12:52
|
(0) Ужас
Если Месяц(Дата1) = 1 Тогда Дата1 = ДобавитьМесяц(Дата1,-1); КонецЕсли; |
|||
4
Ненавижу 1С
гуру
15.01.19
✎
12:53
|
(3) там ДобавитьМесяц без всяких Если
|
|||
5
arsik
гуру
15.01.19
✎
12:55
|
(4) Не, у него только в январе такое
|
|||
6
Billi Milligan
15.01.19
✎
13:54
|
(3) Спасибо!
|
|||
7
Billi Milligan
15.01.19
✎
13:55
|
Год_1 = Формат(Год(Дата1) - 1, "ЧГ=");
Так тоже работает. Вдруг кому пригодится. |
|||
8
Zamestas
15.01.19
✎
14:04
|
(7) То, что январь может по другому называться - не смущает?
|
|||
9
craxx
15.01.19
✎
14:13
|
Открой для себя функцию Формат. Внимательно почитай СП по форматам даты
|
|||
10
Zamestas
15.01.19
✎
14:28
|
(9) Для этой задачи не используется функция формат - правильный ответ в (3).
|
|||
11
Serg_1960
15.01.19
✎
14:57
|
Правильный ответ :)
ТС: Наши бухи в текущем месяце выставляют счета за прошлый месяц...в печатной форме выводится "...за декабрь 2 018"... "... за " + Формат(ДобавитьМесяц(ДатаХ,-1)), "ДФ='ММММ гггг'"); |
|||
12
Serg_1960
15.01.19
✎
14:58
|
Упс, одна кавычка лишняя :)
|
|||
13
pasha_d
15.01.19
✎
15:38
|
СтрЗаменить(Формат(Дата,"ДФ=гггг"), Символы.НПП, "");
|
|||
14
unregistered
15.01.19
✎
15:43
|
Вот так и рождаются легенды об 1С-быдлокодерстве.
|
|||
15
BeerHelpsMeWin
15.01.19
✎
16:09
|
(14) Но ведь работает же! :)
|
|||
16
PR
15.01.19
✎
19:17
|
Сабж — квинтэссенция быдлкодерства, просто аж подташнивает
|
|||
17
DES
15.01.19
✎
19:24
|
Весь код (0) обрамить
стрзаменить(<Код>, "2 018", "2018"); |
|||
18
palsergeich
15.01.19
✎
19:42
|
Все очень просто:
Формат(Дата1, "ДФ=гггг") = строка 2018 Формат(Дата1, "ДФ=гггг")-1 - происходит неявное преобразование типа к типу число. По региональным установкам - у типа число 3 рзнака разделяются неразрывным пробелом. Формат(Формат(Дата1, "ДФ=гггг")-1,"ЧГ=0") - вот рассово верное решение |
|||
19
palsergeich
15.01.19
✎
19:44
|
(18)
Все очень просто: Формат(Дата1, "ДФ=гггг") = строка 2018 Формат(Дата1, "ДФ=гггг")-1 - происходит неявное преобразование типа к типу число. По региональным установкам - у типа число 3 знака при преобразовании к типу строка, разделяются неразрывным пробелом и Вы имеете то, что имеете. Формат(Формат(Дата1, "ДФ=гггг")-1,"ЧГ=0") - вот рассово верное решение Но все равно говнокод в шапке. |
|||
20
palsergeich
15.01.19
✎
19:46
|
Если Месяц(Дата1) = 1 Тогда
Год_1 = Формат(Дата1, "ДФ=гггг")-1; Иначе Год_1 = Формат(Дата1, "ДФ=гггг"); КонецЕсли; Решение на порядок читабельнее. |
|||
21
palsergeich
15.01.19
✎
19:48
|
(20) Тьфу
Если Месяц(Дата1) = 1 Тогда Год_1 = Формат(ДобавитьМесяц(Дата1,-1), "ДФ=гггг")-1; Иначе Год_1 = Формат(Дата1, "ДФ=гггг"); КонецЕсли; Или Если Месяц(Дата1) = 1 Тогда Год_1 = Формат(Формат(Дата1, "ДФ=гггг")-1,,"ЧГ=0"); Иначе Год_1 = Формат(Дата1, "ДФ=гггг"); КонецЕсли; |
|||
22
palsergeich
15.01.19
✎
19:49
|
(21) Да что такое)
Если Месяц(Дата1) = 1 Тогда Год_1 = Формат(ДобавитьМесяц(Дата1,-1), "ДФ=гггг"); Иначе Год_1 = Формат(Дата1, "ДФ=гггг"); КонецЕсли; Или Если Месяц(Дата1) = 1 Тогда Год_1 = Формат(Формат(Дата1, "ДФ=гггг")-1,"ЧГ=0"); Иначе Год_1 = Формат(Дата1, "ДФ=гггг"); КонецЕсли; Вот теперь поправил |
|||
23
Fram
15.01.19
✎
20:30
|
(0) а можешь весь модуль показать? любопытное должно быть чтиво
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |