Сам формат даты изучался имперически. То есть менял число и изучал что станет с датой-временем. Оказалась все банально до ужаса: Число Excel = Количество дней от 1 января 1900 г. Число 1С = Количество секунд от ... той же даты. Дата 1С = ))) Соотвественно формулы перевода выглядят следующим образом: Процедура ЧислоExelПриИзменении(Элемент) // От Excel числа ЭлементыФормы.Дата1С.Значение = '190001010000'+(ЭлементыФормы.ЧислоExcel.Значение*86400); ЭлементыФормы.Число1C.Значение = Цел(ЭлементыФормы.ЧислоExcel.Значение*86400); КонецПроцедуры Процедура Дата1СПриИзменении(Элемент) // От Даты 1С ЭлементыФормы.Число1C.Значение = ЭлементыФормы.Дата1С.Значение-'19000101000000'; ЭлементыФормы.ЧислоExcel.Значение = (ЭлементыФормы.Дата1С.Значение-'19000101000000')/86400; КонецПроцедуры Процедура Число1CПриИзменении(Элемент) // От Числа 1С ЭлементыФормы.Дата1С.Значение = '190001010000'+ЭлементыФормы.Число1C.Значение; ЭлементыФормы.ЧислоExcel.Значение = ЭлементыФормы.Число1C.Значение/86400; КонецПроцедуры
Юзайте :) P.S. Может эта информация и излишне примитивна и банальна для данного ресурса, но может и сохранить кому-то время потраченое на безрезультатное гугление и янексирование...
Источник: http://infostart.ru/public/183518/ |