8.х Преобразование в дату

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем veraV, 2 дек 2010.

  1. TopicStarter Overlay
    veraV
    Offline

    veraV

    Регистрация:
    31 янв 2009
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Добрый вечер! Проблема есть такая. В файлах Excel есть текстовые поля примерно такие "23 июня 1960 г.". Как сделать их при загрузке Еxcel-файла полями Дата в документах 1С? Заранее большое спасибо.
  2. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Интересная задача...но эксель текстовый формат не переводит в дату. По крайней мере у меня не получилось. Так что пока мысль только получать дату строкой и в 1С уже разбирать эту строку. Может у кого другого найдется решение.
  3. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    Допустим текст = "23 июня 1960 г."...
    Тогда код такой:

    Код:
    	День = Лев(Текст,2);
    Месяц = ОпределитьМесяц(Сред(Текст,4,3));
    Год = Лев(Прав(Текст,7),4);
    Дата = Дата(Год,Месяц,День);
    
    //////////////
    
    Функция ОпределитьМесяц(Стр)
    Если Стр = "янв" Тогда  	 Возврат 1;
    ИначеЕсли Стр = "фев" Тогда  Возврат 2;
    ИначеЕсли Стр = "мар" Тогда  Возврат 3;
    ИначеЕсли Стр = "апр" Тогда  Возврат 4;
    ИначеЕсли Стр = "май" Тогда  Возврат 5;
    ИначеЕсли Стр = "июн" Тогда  Возврат 6;
    ИначеЕсли Стр = "июл" Тогда  Возврат 7;
    ИначеЕсли Стр = "авг" Тогда  Возврат 8;
    ИначеЕсли Стр = "сен" Тогда  Возврат 9;
    ИначеЕсли Стр = "окт" Тогда  Возврат 10;
    ИначеЕсли Стр = "ноя" Тогда  Возврат 11;
    ИначеЕсли Стр = "дек" Тогда  Возврат 12;
    КонецЕсли;
    КонецФункции
    
    
    
  4. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Только предусмотреть надо, когда день в дате меньше 10. Как он задан "6 июня 1960 г." или "06 июня 1960 г."?
    P.S. Может лучше "отсекать" по пробелам.

Поделиться этой страницей