|
Дата и Время | ☑ | ||
---|---|---|---|---|
0
Riko669
07.12.16
✎
15:48
|
Добрый день всем!
Прошу помощи у более опытных людей, чем я. У меня есть табличная часть "ТабПриемов". В этой тч есть реквизит Время1 (Тип Дата, Состав Дата и Время, Формат ДЛФ=T). И естественно РС, в котором отображаются данные тч. При заполнении расписания учитываются четные и нечетные дни, также чтобы в ручную на каждый день не вводить время, сделаны процедуры копировать, вставить по четным и нечетным дням. Ситуация такая. Когда ввожу время, а затем его копирую и вставляю либо по четным дням, либо по нечетным, это время копируется вместе с датой и естественно тогда в рс отображается то, что я скопировала и вставила, т.е. в рс вместо ср 07, чт 08, пт 09 и т.д. отображается ср 07,ср 07, ср 07, но если вводить все в ручную, то тогда все нормально. Теперь вопрос сам. Можно ли как-то отделить дату от времени? Чтобы копировалось только время, а дата соответствовала своему дню недели. |
|||
1
Cyberhawk
07.12.16
✎
15:59
|
Я не против
|
|||
2
Riko669
07.12.16
✎
16:03
|
(1) по поводу чего?
|
|||
3
DrShad
07.12.16
✎
16:13
|
я тоже не возражаю
|
|||
4
DrShad
07.12.16
✎
16:14
|
по сути что есть у тебя время? это количество секунд от начала дня - отсюда и пляши, т.е. к каждой дате прибавляй необходимое количество секунд и будет одинаковое время на все твои даты
|
|||
5
Fish
07.12.16
✎
16:14
|
(0) "Можно ли как-то отделить дату от времени?" - Нельзя.
"Чтобы копировалось только время, а дата соответствовала своему дню недели" - А вот это можно. |
|||
6
Riko669
07.12.16
✎
16:15
|
Втф!? :D
|
|||
7
Fish
07.12.16
✎
16:16
|
(6) Показывай код своих процедур копирования и вставки по четным и нечётным дням.
|
|||
8
Riko669
07.12.16
✎
16:18
|
&НаКлиенте
Процедура ВставитьПоЧетнымДням(Команда) Для Каждого СтрТабПриемов из Объект.ТабПриемов Цикл ПравСимв=Прав(Строка(День(СтрТабПриемов.ДатаПриема)),1); Если Найти("02468",ПравСимв)>0 Тогда СтрТабПриемов.Время2=Врем2; СтрТабПриемов.Кабинет=Каб; СтрТабПриемов.Время1=Врем1; КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ВставитьПоНеЧетнымДням(Команда) Для Каждого СтрТабПриемов из Объект.ТабПриемов Цикл ПравСимв=Прав(Строка(День(СтрТабПриемов.ДатаПриема)),1); Если Найти("13579",ПравСимв)>0 Тогда СтрТабПриемов.Время2=Врем2; СтрТабПриемов.Кабинет=Каб; СтрТабПриемов.Время1=Врем1; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
9
Riko669
07.12.16
✎
16:19
|
Для копирования
&НаКлиенте Процедура Копировать(Команда) Попытка Записать(); Врем1=Объект.ТабПриемов.Получить(Элементы.ТабПриемов.ТекущаяСтрока).Время1; Врем2=Объект.ТабПриемов.Получить(Элементы.ТабПриемов.ТекущаяСтрока).Время2; Каб=Объект.ТабПриемов.Получить(Элементы.ТабПриемов.ТекущаяСтрока).Кабинет; Исключение Врем1=Объект.ТабПриемов.Получить(Элементы.ТабПриемов.ТекущаяСтрока-Объект.ТабПриемов.Количество()).Время1; Врем2=Объект.ТабПриемов.Получить(Элементы.ТабПриемов.ТекущаяСтрока-Объект.ТабПриемов.Количество()).Время2; Каб=Объект.ТабПриемов.Получить(Элементы.ТабПриемов.ТекущаяСтрока-Объект.ТабПриемов.Количество()).Кабинет; КонецПопытки; КонецПроцедуры |
|||
10
NafNaf2000
07.12.16
✎
16:20
|
Если Найти("02468",ПравСимв)>0 Тогда
это теперь так модно четность определять? |
|||
11
DrShad
07.12.16
✎
16:20
|
гребанный стыд
срочно сделайте мне это все развидеть |
|||
12
Riko669
07.12.16
✎
16:21
|
Ну как есть
|
|||
13
Fish
07.12.16
✎
16:28
|
(12) Вместо СтрТабПриемов.Время2=Врем2 и
Напиши что-нибудь вроде: СтрТабПриемов.Время2 = НачалоДня(СтрТабПриемов.ДатаПриема) + (Врем2 - НачалоДня(Врем2)) Для время1 аналогично. |
|||
14
Riko669
07.12.16
✎
16:29
|
(7) может хоть вы более адекватно отреагируете) как можно реализовать копирование только времени?
|
|||
15
Riko669
07.12.16
✎
16:30
|
извиняюсь, с опозданием идут сообщения.
хорошо, попробую |
|||
16
Riko669
07.12.16
✎
16:34
|
(13) отлично все работает!! Безмерно благодарна, спасибо огромное)
|
|||
17
Fish
07.12.16
✎
16:36
|
(16) Да не за что, но по хорошему коллеги правы: неплохо бы переписать весь код заново, хотя, опять же, если работает - не трожь :)
|
|||
18
Riko669
07.12.16
✎
16:39
|
Пока работает, так и поступлю, пока не буду трогать :) спасибо еще раз)
|
|||
19
azernot
07.12.16
✎
16:54
|
На будущее, простая проверка на чётность - это отсутствие остатка от деления на 2.
В данном конкретном случае Если День(СтрТабПриемов.ДатаПриема)%2 = 0 Тогда //Чётное Если НЕ День(СтрТабПриемов.ДатаПриема)%2 = 0 Тогда //Нечетное |
|||
20
DrShad
07.12.16
✎
16:56
|
и не нужно при каждом копировании пытаться записывать объект
|
|||
21
Cyberhawk
07.12.16
✎
18:28
|
(2) По поводу "Теперь вопрос сам. Можно ли как-то отделить дату от времени?" из (0)
|
|||
22
mistеr
07.12.16
✎
19:55
|
(19) Интересно, какой процент мистян слова "оотсутствие остатка от деления" пугают больше, чем "Найти("02468",ПравСимв)"?
|
|||
23
Riko669
08.12.16
✎
11:46
|
Мм, хорошо, поняла, займусь тогда переделываем кода по четному и нечетному)
|
|||
24
Riko669
08.12.16
✎
11:56
|
(19) спасибо, совет учту и запомню)
|
|||
25
catena
08.12.16
✎
12:09
|
Ну а так-то у типа даты есть три возможных состава: Дата и Время, Дата, Время. Возможно, отдельно время будет смотреться информативнее в данном случае.
|
|||
26
Riko669
08.12.16
✎
13:47
|
(25) В принцепи можно, но у меня указан просто формат отображения время и вроде как всех устраивает, кто со мной тут сидит)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |