8.х Чтение даты из csv файла

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

  1. TopicStarter Overlay
    Виктор13245234
    Offline

    Виктор13245234 Опытный в 1С

    Регистрация:
    17 мар 2015
    Сообщения:
    234
    Симпатии:
    5
    Баллы:
    29
    Всем добрый день! Работаю в конфигурации управление IT отделом. Такая ситуация:
    Написал обработку, которая считывает данные из файла csv и записывает в объект на сервере. При запуске "вручную" - дата корректно записывается в объект. Когда ставлю обработку по расписанию, то дата не записывается в объект. Преобразовываю в тип "Дата" используя функцию Дата(). Прошу помочь, спасибо.

    P.S. есть подозрение, что у sql сервера формат даты "Америка". Только вот что с этим сделать. Могу перевести из нашего формата в американский через Формат. Но как записать в реквизит табличной части?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.243
    Симпатии:
    963
    Баллы:
    204
    А как сейчас работает?
  3. TopicStarter Overlay
    Виктор13245234
    Offline

    Виктор13245234 Опытный в 1С

    Регистрация:
    17 мар 2015
    Сообщения:
    234
    Симпатии:
    5
    Баллы:
    29
    Сейчас что то вообще не создает документы. Мне б логику понять. Сделал вот так:

    Код:
    Функция ПолучитьДатуВНовомФормате(ДатаИзДокумента)
        День = Сред(ДатаИзДокумента,2,2);
        Месяц = Сред(ДатаИзДокумента,5,2);
        Год = Сред(ДатаИзДокумента,8,4);
        Час = Сред(ДатаИзДокумента,13,2);
        Минута = Сред(ДатаИзДокумента,16,2);
        Секунда = Прав(ДатаИзДокумента,2);
        Возврат Дата(Год,Месяц,День,Час,Минута,Секунда);
        КонецФункции
    
    
    мДата = Дата(1,1,1);
            Если ЗначениеЗаполнено(СтрокаТЗ.Date) Тогда
                Попытка
                    //Вдовенко
                мДата = ПолучитьДатуВНовомФормате(СтрокаТЗ.Date);   
                //    мДата = Формат(Дата(СтрокаТЗ.Date),"Л=en_US");
                //мДата = Дата(СтрокаТЗ.Date);
                    Сообщить(мДата);
                Исключение   
                    ЗаписьЖурналаРегистрации(СобытиеВнешнейОбработки(), УровеньЖурналаРегистрации.Ошибка,,, СтрШаблон(НСтр("ru = 'Не удалось создать документ по причине: %1'"), СтрокаТЗ.Date));
                КонецПопытки;           
            КонецЕсли;
    
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.243
    Симпатии:
    963
    Баллы:
    204
    Формат данных SQL - это его сугубо личные проблемы, пользователей это не должно касаться вообще.

    Включите отладку на сервере и проверьте значения внутри функции ПолучитьДатуВНовомФормате.
  5. TopicStarter Overlay
    Виктор13245234
    Offline

    Виктор13245234 Опытный в 1С

    Регистрация:
    17 мар 2015
    Сообщения:
    234
    Симпатии:
    5
    Баллы:
    29
    Я знаю, как можно отладить вручную обработку. Там дата корректна. А как отладить внешнюю обработку, которая выполняется по расписанию?
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.243
    Симпатии:
    963
    Баллы:
    204
    отладить фоновое задание, порождаемое регламентным.
  7. TopicStarter Overlay
    Виктор13245234
    Offline

    Виктор13245234 Опытный в 1С

    Регистрация:
    17 мар 2015
    Сообщения:
    234
    Симпатии:
    5
    Баллы:
    29
    Сработало. Обыкновенная невнимательность подвела
Похожие темы
  1. wary
    Ответов:
    7
    Просмотров:
    13.967
  2. CSCO12103692
    Ответов:
    4
    Просмотров:
    727
  3. Snegur
    Ответов:
    3
    Просмотров:
    488
Загрузка...

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