|
обработка изменить время документов | ☑ | ||
---|---|---|---|---|
0
denis_solyanko
15.01.15
✎
11:51
|
Добрый день задача, нужно изменить у опеределнного вида документов даты, причем дату не трогать , а изменить у каждого документа только время.
как осуществить? разбивать дату на две части, изменять, потом соединять? |
|||
4
Cube
15.01.15
✎
11:55
|
(0) ТекущаяДата() - 60 = текущая дата минут 1 минута.
|
|||
5
Cube
15.01.15
✎
11:56
|
(4) "минут" = "минус"
|
|||
6
deniseek
15.01.15
✎
11:56
|
(2) Количество секунд добавить не предлагать? Или что нужно то????? ))))
|
|||
8
Fish
15.01.15
✎
11:57
|
(2) Держи идею: почитать ЖКК или СП. "Раздел Функции работы со значениями типа Дата"
|
|||
9
Godofsin
15.01.15
✎
11:57
|
=)
|
|||
10
Fish
15.01.15
✎
11:58
|
(0) И, кстати, каким образом надо время менять? Какое-то фиксированное или нет?
|
|||
11
denis_solyanko
15.01.15
✎
12:07
|
(10) ну допустим тип цен установка цен, таким документам нужно проставлять час ночи, если в один день тогда час 01:00:01,01:00:02,01:00:03
|
|||
12
deniseek
15.01.15
✎
12:12
|
(11) 60*60+НачалоДня(ДатаТвоегоДокумента)+1 например- это для твоего первого документа, в цикле, я думаею, сделаешь прибавление на 1 больше?
|
|||
13
denis_solyanko
15.01.15
✎
12:12
|
(4) Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | УстановкаЦенНоменклатурыВМагазине.Ссылка, | УстановкаЦенНоменклатурыВМагазине.Дата |ИЗ | Документ.УстановкаЦенНоменклатурыВМагазине КАК УстановкаЦенНоменклатурыВМагазине"; Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Объект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); массив = РазложитьСтрокуВМассивПодстрок(Объект.Дата," "); вот здесь нужно сделать изменение времени думаю счетчик добавить если дата =дата время = "01:00:00"; Объект.Дата = массив[0]+" "+время; Сообщить("Обрабатывается:"+Объект); Объект.Записать(); КонецЦикла; КонецПроцедуры |
|||
14
Godofsin
15.01.15
✎
12:14
|
(13) *рукалицо
|
|||
15
denis_solyanko
15.01.15
✎
12:15
|
(14) )))
|
|||
16
Cube
15.01.15
✎
12:15
|
(13) Ахахахха))) Рукалицоооо))))
Вместо ереси "массив = РазложитьСтрокуВМассивПодстрок(Объект.Дата," ");" и всё что ниже пиши: Объект.Дата = НачалоДня(Объект.Дата) + 60*60; |
|||
17
Godofsin
15.01.15
✎
12:17
|
(16) Не, ему ж на секунду прибавлять надо.
|
|||
18
Дмитрий
15.01.15
✎
12:17
|
Объект.Дата = НачалоДня(Объект.Дата)+ НужноеВремяВСекундах
|
|||
19
Cube
15.01.15
✎
12:17
|
(17) На час плюс секунда...
|
|||
20
denis_solyanko
15.01.15
✎
12:42
|
(19) все спасибо сработало))
|
|||
21
denis_solyanko
15.01.15
✎
12:42
|
всем спасибо за помощь))
|
|||
22
denis_solyanko
15.01.15
✎
12:42
|
у меня бы получилось тоже самое только в два раза длиньше))
|
|||
24
Fish
15.01.15
✎
13:06
|
(20) А ничего, что если документ будет проведён временем больше, чем 23:00, то прибавив к нему час, ты получишь следующий день?
|
|||
25
salvator
15.01.15
✎
13:08
|
(24) Генерал сказал на час+секунда, значит час+секунда.
|
|||
26
denis_solyanko
15.01.15
✎
13:22
|
(24) а там начинаю нумерацию именно с часу
|
|||
27
Serg_1960
15.01.15
✎
13:47
|
"Давайте подумаем, мужики. Вопрос-то серьезный!"(salvator) :)
Могу одной строкой кода выполнить... но вопрос же серьёзный! Тут нужна процедура с вызовами функций... |
|||
28
Serg_1960
15.01.15
✎
14:02
|
PS: если ТС хочет "сдвигать" время на час ночи следующего дня, то лучше использовать не НачалоДня(Объект.Дата), а КонецДня(). И запрос лучше сгруппировать по датам (без времени) с сортировкой по номерам (как вариант - по моменту времени) - это поможет определять сколько секунд добавлять к концу дня для очередного документа.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |