Имя: Пароль:
1C
1С v8
Помогите разобраться с кодом
0 NaTaShA44
 
26.10.21
13:19
Добрый день. Не кидайтесь в  меня тряпками, т.к. я сооооовсем начинающий разработчик в 1С. Почему мой код не работает?

Время = ТекущаяДата();
    Время = Прав(Время,8);
    Если
        Время >= "060000" И Время <= "175959"
        Тогда  Сообщить ("Доброе утро!");
        ИначеЕсли
            Время >= "120000" И Время <= "175959" Тогда
            Сообщить ("Добрый день!");
        ИначеЕсли
            Время >= "180000" И Время <= "235959" Тогда
            Сообщить ("Доброго вечера!");
        Иначе
            Время >= "000000" И Время <= "055959" Тогда
            Сообщить ("Доброго времени суток!");
    КонецЕсли;
1 1Сергей
 
26.10.21
13:20
ВремяЧас = Час(Время);
ВремяМинуты = Минуты(Время);
2 1Сергей
 
26.10.21
13:22
*Минута(Время)
3 Волшебник
 
модератор
26.10.21
13:22
(0) Надо убрать двоеточия
4 Мультук
 
гуру
26.10.21
13:24
(0)

1) Потому что ты не хочешь запустить отладчик
2) Потому что ты не хочешь написать

Время = ТекущаяДата();
Сообщить(строка(время));

и увидеть двоеточия
5 acht
 
26.10.21
13:27
(0) Как сравниваются строки?
6 zuza
 
26.10.21
13:27
Потому что в переменной Время строка
7 arsik
 
гуру
26.10.21
13:30
(6) В переменной время - дата. С такой длинной радугой стыдно должно быть.
8 zuza
 
26.10.21
13:33
(7) Время = Прав(Время,8);
Где тут дата?
9 Масянька
 
26.10.21
13:33
(0) https://helpme1c.ru/rabota-s-tipom-data-v-yazyke-1s-8-v-primerax - если действительно хочется разобраться.
10 Волшебник
 
модератор
26.10.21
13:33
(7) Сначала была дата, а потом стала строка.
11 Масянька
 
26.10.21
13:33
(7) Думаю: "Какая радуга?" :))))))))))))))))))))))))))))
12 Alex Проблемный
 
26.10.21
13:48
А так можно?:
1. Тип "Дата" сравнить с типом "Строка"
2. "Иначе
            Время >= "000000" И Время <= "055959" Тогда"
13 Kassern
 
26.10.21
13:52
(0) ВремяЧас = Час(ТекущаяДата());
Если ВремяЧас>=6 И ВремяЧас<12 Тогда
Сообщить("Утро");
ИначеЕсли ВремяЧас>=12 И ВремяЧас<18 Тогда
Сообщить(День!);
*****
Дальше уже сами
14 Ненавижу 1С
 
гуру
26.10.21
13:57
(13) это правильно!
15 Волшебник
 
модератор
26.10.21
14:02
(13) Вот сразу видно, что код писался от руки и не тестировался в Конфигураторе ;)

>> Сообщить(День!);
16 Kassern
 
26.10.21
14:03
(15) а это задание со звездочкой, почему код не работает))
17 Alex Проблемный
 
26.10.21
14:07
(13) а как же "ТекущаяДатаСеанса()"?)
18 Dmitrii
 
гуру
26.10.21
14:09
(12) >> А так можно? Тип "Дата" сравнить с типом "Строка".

Нет.

>>  А так можно?  "Иначе Время >= "000000" И Время <= "055959" Тогда".

Да. Потому что в этом куске кода в переменной Время строка. Полученная после выполнения кода из строки 2 листинга (0).


Время = Прав(Время,8);
19 Ненавижу 1С
 
гуру
26.10.21
14:09
(15) (17) начинаете придираться уже к товарищу
20 Волшебник
 
модератор
26.10.21
14:14
(19) Товарищ подсунул кривой код. Он нам не товарищ! ;)
21 Dmitrii
 
гуру
26.10.21
14:14
ОФФ.
(0) >> "Доброго времени суток!".

Самое отстойное приветствие.
Для твоих целей должно быть написано "Добрая ночь!".

И твой код, если бы работал, как ты написал, никогда бы не приветствовал бы "Добрый день". Всегда либо "утро", либо "вечер", либо дебильное "время суток".
22 Волшебник
 
модератор
26.10.21
14:15
(21) Говорят "Доброй ночи!"
23 Масянька
 
26.10.21
14:16
(21) "Добрый день, коллеги!" - за "коллеги" уже готова убить :((((((((((((((((((((((((((((((((((((((((
24 Alex Проблемный
 
26.10.21
14:17
(18)
Время = ТекущаяДата();
Время = Прав(Время,8);
    Если
        Время >= "060000" И Время <= "175959"
        Тогда  Сообщить ("Доброе утро!");
        ИначеЕсли
            Время >= "120000" И Время <= "175959" Тогда
            Сообщить ("Добрый день!");
        ИначеЕсли
            Время >= "180000" И Время <= "235959" Тогда
            Сообщить ("Доброго вечера!");
        Иначе
            Время >= "000000" И Время <= "055959" Тогда
            Сообщить ("Доброго времени суток!");
    КонецЕсли;

{ВнешняяОбработка.ВнешняяОбработка2.МодульОбъекта(13,19)}: Неопознанный оператор
            Время <<?>>>= "000000" И Время <= "055959" Тогда (Проверка: Сервер)
25 Ненавижу 1С
 
гуру
26.10.21
14:19
(20) не передаёт параметры в процедуру через регистры сведений - уже хорошо
26 Dmitrii
 
гуру
26.10.21
14:22
(22) >> Говорят "Доброй ночи!"

Это пожелание. Говорится обычно при прощании. Как, например, "Доброго/хорошего дня".
При приветствии правильнее "Добрая ночь". Но в обычном разговорном языке почему-то так очень редко говорят. В отличии от "Добрый день" или "Доброе утро".

И вообще морока это и глупость.
Гораздо проще просто "Здрасти." А не вот это вот всё с бесполезными вычислениями, которые никогда не смогут угадать - в каком времени суток ощущает себя тот, кто будет читать это приветствие. Для кого-то и 7:00 утра - уже разгар дня, а не утро. И 2 часа ночи - ещё только вечер, а вовсе не ночь.
27 Масянька
 
26.10.21
14:24
Жуткие нравы! Где только не дуэлировали… и во Франции… и в Голландии… И везде — чётко и быстро, как у цивилизованных людей: рраз — и наповал! (С)
Перефразируя: на других сайтах - задал вопрос, получил ответ. И только на мисте тебе очень четко и (главное!) доступно и доходчиво объяснят, кто ты есть (на самом деле), куда тебе нужно пойти и чем заняться.
Жуткие нравы...
28 trad
 
26.10.21
14:24
(24) у тебя Время - реквизит формы типа Дата. Поэтому тип не меняется
29 SSSSS_AAAAA
 
26.10.21
14:25
(22) Так говорят при прощании, сия фраза никогда не была приветствием. Впрочем, как и любое "Доброго/ой утра/дня/вечера/ночи/времени суток".
А тут у него и Добрый день, и доброго вечера. С какого перепуга, почему не Добрый вечер?
30 Dmitrii
 
гуру
26.10.21
14:25
(24) Зачем ты мне свои ошибки пишешь?
У тебя в 12-ой строчке должно быть ИначеЕсли вместо Если.
31 ИУБиПовиц
 
26.10.21
14:26
Ну написали ж использовать время(час) и сравнивать с числом.
Ну и наверное текущаяДатаСеанса использовать, если в разных часовых поясах.
32 Dmitrii
 
гуру
26.10.21
14:27
(31) Нет, давайте разберёмся!...
33 Kassern
 
26.10.21
14:28
какой-то шабаш филологов тут собрался...
34 Alex Проблемный
 
26.10.21
14:31
(28) нет)
(30) это не мои ошибки, а не внимательность автора по которой я спросил можно ли так или нет на что мне сказали - можно (18) "Да. Потому что в этом куске кода в переменной Время строка. Полученная после выполнения кода из строки 2 листинга (0).". Решил проверить - оказалось нельзя
35 Dmitrii
 
гуру
26.10.21
14:31
(33) А вдруг NaTaShA44 - всё таки девушка, как можно было бы подумать, прочитав код в (0). А не мужик, как указано в анкете.
36 SSSSS_AAAAA
 
26.10.21
14:32
(26) "При приветствии правильнее "Добрая ночь". Но в обычном разговорном языке почему-то так очень редко говорят."
Потому, что по ночам люди занимались делами, не требующими приветствий. Это сейчас приходится общаться с людьми в разных часовых поясах.
37 Волшебник
 
модератор
26.10.21
14:32
Сообщить ("Приветствуем!");
38 Dmitrii
 
гуру
26.10.21
14:34
(36) >> по ночам люди занимались делами, не требующими приветствий. Это сейчас приходится общаться с людьми в разных часовых поясах.

А в этих других часовых поясах почему люди не занимаются делами, не требующими приветствий? Что это за пояса у них такие? Или дела?
39 1Сергей
 
26.10.21
14:34
(23) Попей ромашку
40 Dmitrii
 
гуру
26.10.21
14:38
(37) И вообще.
Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8 Разработка пользовательских интерфейсов Организация диалога с пользователем.
https://its.1c.ru/db/v8std#content:418:hdoc
Ограничение на использование метода Сообщить
Область применения: управляемое приложение.
Для вывода сообщений пользователю во всех случаях следует использовать объект СообщениеПользователю, даже когда сообщение не «привязывается» к некоторому элементу управления формы. Метод Сообщить применять не следует.

Методическая рекомендация (полезный совет)
При использовании в конфигурации Библиотеки стандартных подсистем рекомендуется использовать процедуру СообщитьПользователю общего модуля ОбщегоНазначения или ОбщегоНазначенияКлиент, которая работает с объектом СообщениеПользователю.
41 SSSSS_AAAAA
 
26.10.21
14:39
(38) Не понял вопроса. По работе приходится общаться с Владивостоком. У нас здесь день, у них поздний вечер. Раньше, в эпоху формирования приветствий, до появления технических средств мгновенного общения на такие расстояния, людям не нужно было кого-то по ночам приветствовать.
42 1Сергей
 
26.10.21
14:41
(40) мы в одном ТГ-чате мерились у кого сколько НайтиПоНаименованию в конфигурации
43 Dmitrii
 
гуру
26.10.21
14:47
(41) Ты ещё скажи, что люди по ночам не общались до появления телефонной связи.
Дело вовсе не в часовых поясах. А в том, что всё что происходит до отхода ко сну - это вечер, а не ночь. И говорят обычно "Добрый вечер", даже если уже 2-3 часа ночи.
А разбудить человека после того как он уснул - это свинство и говорить при этом "Добрая ночь" - звучит скорее как издёвка, нежели как любезное приветствие.
44 Dmitrii
 
гуру
26.10.21
14:49
(42) А пр равенстве результата победителя определяли бы по количеству вхождений НайтиПоКоду? 🙄😂😂
45 1Сергей
 
26.10.21
14:50
(44) Победила чья-то КА допиленная, с результатом более 160 вхождений
46 eklmn
 
гуру
26.10.21
15:09
Вот и какой нормальный человек пойдет в 1Сники после такой ветки?
47 Dmitrii
 
гуру
26.10.21
15:12
(46) Шли бы суда нормальные - веток бы таких не было.
48 SSSSS_AAAAA
 
26.10.21
16:06
(47) Суда? А при чем тут суда? И какие суда? Морские? Речные? Комбинированные? Подводные?
49 Масянька
 
26.10.21
16:10
(46) (47) (48) Я даже не знаю, кому лайкнуть!!!! 🤣😂🤣🤣🤣🤣
50 Dmitrii
 
гуру
26.10.21
16:20
(48) Воздушные конечно же. Доставляем наших надувных слонов в любое время суток - хоть утром, хоть днём и даже ночью! Автор ветки ведь эту конфу допиливает...
51 Масянька
 
26.10.21
16:22
(50) Воздушные суда не ходят, а летают.
52 Kassern
 
26.10.21
16:25
(51) а на посадку все же заХОДЯТ, а не залетают))
53 Масянька
 
26.10.21
16:35
(52) Залетают только коты и девчонки.
54 Dmitrii
 
гуру
26.10.21
16:43
(53) Я так и знал, что автор ветки всё таки девчонка, а не мужик, как указано в анкете.
55 1Сергей
 
26.10.21
16:46
(54) тяжело быть мужиком по имени Наташа
56 Масянька
 
26.10.21
16:46
(54) Мужская логика...