Каталог решений - Конвертер Даты из числового формата Excel

Конвертер Даты из числового формата Excel

Конвертер Даты из числового формата Excel

В наличии

Столкнувшись с проблемой загрузки в 1С из Excel Даты-Времени в числовом формате к удивлению не нашел нигде подобных формул. Может потому что они уж слишком банальны, а может потому что они "тайное знание посвященных". В общем, эта обработка пример конвертации Excel <=> 1C

Категория:

Описание

Сам формат даты изучался эмпирически. То есть менял число и изучал что станет с датой-временем. Оказалась все банально до ужаса:

Число 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. Может эта информация и излишне примитивна и банальна для данного ресурса, но может и сохранить кому-то время потраченное на безрезультатное гугление и яндексирование…

has been added to your cart:
Оформление заказа