Имя: Пароль:
1C
 
Можно ли получить количество милисекунд между датами средствами 1С
Ø
0 LSM
 
06.12.05
19:00
Можно ли получить количество милисекунд между датами средствами 1С и привести это число к шестнадцатиричному счислению?
1 Джинн
 
06.12.05
19:05
про "между датами" поподробнее
2 LSM
 
06.12.05
19:10
Грубо говоря между 01.01.2000 и датой записи документа.
3 LSM
 
06.12.05
19:12
Ну ладно, не миллисекунд, а хотя бы секунд.
4 Бит
 
06.12.05
19:13
(дата1-дата2)*24*3600
5 LSM
 
06.12.05
19:16
А привести это к шестнадцатиричному счислению?
6 Джинн
 
06.12.05
19:17
Дата с точки зрения v7 не содержит времени. Зато документ имеет ПОЗИЦИЮ, которая кроме даты содержит также и время в виде количества десятитысячных секунды с начала суток в 36-ричном формате.
В v8 дата содержит также и время. И вопрос вроде не должен возникать.
7 Бит
 
06.12.05
19:17
(5)Рекурсия
8 LSM
 
06.12.05
19:19
2 (6). Поподробнее. Как это значение позиции документа получить?
9 Джинн
 
06.12.05
19:22
ПолучитьПозицию();
Синтаксис:
ПолучитьПозицию()
Назначение:
Получить позицию документа.
Замечание:
Позиция может существовать только у записанного документа.
...
РазобратьПозициюДокумента(<?>,,,,,);
Синтаксис:
РазобратьПозициюДокумента(<Позиция>,<Дата>,<Час>,<Мин>,<Сек>,<Документ>)
Назначение:
Раскладывает позицию документа на составляющие и возвращает строковое представление позиции документа.
Параметры:
<Позиция> - строковое значение позиции документа,
<Дата> - Необязательный параметр. Имя переменной, куда система вернет значение даты позиции документа,
<Час> - Необязательный параметр. Имя переменной, куда система вернет числовое значение часа позиции документа,
<Мин> - Необязательный параметр. Имя переменной, куда система вернет числовое значение минуты позиции документа,
<Сек> - Необязательный параметр. Имя переменной, куда система вернет числовое значение секунды позиции документа,
<Документ> - Необязательный параметр. Имя переменной, куда система вернет значение документа данной позиции документа
...
И т.п.
10 Бит
 
06.12.05
19:22
ПолучитьВремя(<?>,,)
Синтаксис:
ПолучитьВремя(<Часы>,<Минуты>,<Секунды>)
Назначение:
Прочитать время документа. Возвращает время документа в переданные для этого переменные <Часы>, <Минуты>, <Секунды>.
Возвращает:
Строковое значение времени записи документа в виде 'ЧЧ.ММ.СС'.
Параметры:
<Часы> - переменная для приема часа записи документа;
<Минуты> - переменная для приема минут записи документа;
<Секунды> - переменная для приема секунд записи документа.
Замечание:
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.
11 LSM
 
06.12.05
19:25
Синтаксис помошник я и сам умею читать. А где здесь "десятитысячных секунды с начала суток в 36-ричном формате".
12 bushd
 
06.12.05
19:27
Сек*1000:)
13 Джинн
 
06.12.05
19:28
То 11. А не обманываешь? :)
Позиция - это Date_Time_IDDOC. Что такое Date понятно, TIME и есть число десятитысячных секунды с начала суток в 36-ричном виде, IDDOC - идентификатор документа.
14 Гена
 
06.12.05
19:59
из чистого любопытства - в какой задаче 1С могут понадобиться миллисекунды между двумя датами?
15 Джинн
 
06.12.05
20:00
То 14. Начисление пеней за просрочку оплаты :)
16 LSM
 
06.12.05
20:05
В программе клиент-банк, ID документов это то о чем я спрашивал. Как привести полученное число к шестнадцатиричному?
17 Oblomov
 
06.12.05
20:07
2(16) http://www.sinor.ru/~my1c/knowhow/uni_conv.html
18 smaharbA
 
06.12.05
20:08
Функция Hex(Пар)
  Результат="";
  Пока Пар>0 Цикл
    Результат=Сред("0123456789ABCDEF",Пар+1,1)+Результат;
    Пар=Цел(Пар/16) ;
  КонецЦикла;
  Возврат ""+Результат;
КонецФункции // Hex
19 smaharbA
 
06.12.05
20:11
блин сожрало...
Результат=Сред("0123456789ABCDEF",Пар % 16+1,1)+Результат;
20 Oblomov
 
06.12.05
20:17
2(19) И чё эта фигня переводит из 36 ричной системы счисления в 16 ричную?
21 VicAlex
 
06.12.05
20:19
В VBS это всего одна строчка:
Diff = DateDiff("m",D1,D2)//меняя 1-й параметр можно получать в разных единицах, здесь m - разница в месяцах, h - в часах и т.д.
Теперь вопрос: как бы это приделать в 1С?
22 smaharbA
 
06.12.05
20:21
(20) спрашивали из 10 ричной, и этт не фигня, а тоже что и (17) только для 10->16 (без вариаций)
23 smaharbA
 
06.12.05
20:23
(21) а в JS и миллисек можно получить
24 Oblomov
 
06.12.05
20:25
2(22) Количество милисекунд он будет брать из позиции документа, где оно представлено в 36 ричном виде.
25 VicAlex
 
06.12.05
20:25
И там можно. Я уже не про это. Как такую возможность в 1С использовать?
26 LSM
 
06.12.05
20:37
Прошу прощения, при такой системе, когда я перевалю за 8 разрядов в 16 ричном?
27 Oblomov
 
06.12.05
20:48
2(26) У тебя калькулятор в виндосе есть?
>4294967295
28 smaharbA
 
06.12.05
20:51
(26) А как ты хотел long => 7FFFFFFFFF (2147483647)
тогда надо duble или вообще флоат
29 smaharbA
 
06.12.05
21:18
(25)
oIE=СоздатьОбъект("InternetExplorer.Application");
oIE.Navigate("about:blank");
oIE.document.write("<script>
|function diffdate(d1,d2){
|dd1=Date.parse(d1);
|dd2=Date.parse(d2);
|res = dd1-dd2;
|return(res);
|}</script>");
д1=Лев(СтрЗаменить(ПолучитьДатуТА(),".","/"),6)+ДатаГод(ПолучитьДатуТА())+" "+ПолучитьВремяТА();
д2=Лев(СтрЗаменить(ТекущаяДата(),".","/"),6)+ДатаГод(ТекущаяДата())+" "+ТекущееВремя();
Сообщить(oIE.document.script.diffdate(д1,д2));
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.