Нужно импортировать данные из файла Excel все данные получается импортировать, а вот дату нет. Вот пример, как пытаюсь импортировать дату: ЭлементЗаявка.ДатаОплаты = ТабДок.ПолучитьОбласть("R" + Формат(Строка, "ДФ=dd.MM.yyyy; ДЛФ=DT") + "C7").ТекущаяОбласть.Текст;
Если будет нужно прикреплю файл Excel и остальной код импорта
---
Работает же:
---
ТекущаяОбласть.Текст; Все правильно: вы получаете текст, надо его программно преобразовать в дату.
---
я понимаю, но как это сделать?
---
Есть в 1С такая функция: Дата().

Примеры использования: https://programmist1s.ru/daty-v-1s/

Детали зависят от того, в каком виде у вас считывается дата - это надо смотреть в Отладчике.
---
Есть еще одно но, в Excel файле данные разные, т.е. формат стоит Дата, но если ставить общий, тогда получается в некоторых полях набор чисел
---
Сообщение было скрыто модератором.
---
Начнем с того, что нужно пользоваться значением дата в ячейке, а не его текстовым представлением.
Для того, чтобы было доступно значение, сам ТабДок необходимо читать так:

```1c
    ТабДок.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
```

И получать значение даты сразу:

```1c
    ЭлементЗаявка.ДатаОплаты = ТабДок.Область(НомерСтроки, НомерКолонки).Значение;
```

, где НомерСтроки/НомерКолонки - числовые значения, начиная с 1 и до ТабДок.ВысотаТаблицы/ШиринаТаблицы.
Если значения все равно не получаются, то открыть документ в EXCEL, выполнить преобразование формата ячеек к дате и сохранить.

Если файлы преобразовывать нет возможности/желания, то значение даты можно получить из ее строкового представления - это самый пессимистичный вариант.

Само значение можно получить так:

```1c
    ЭлементЗаявка.ДатаОплаты = ТабДок.Область(НомерСтроки, НомерКолонки).Текст;
```

Дальше, в зависимости от представления даты, необходимо получать значения из строки, например:

```1c
    ДатаСтрока = ТабДок.Область(НомерСтроки, НомерКолонки).Текст;

    ГодСтрока = Прав(ДатаСтрока, 4);
    МесяцСтрока = Сред(ДатаСтрока, 4, 2);
    ДеньСтрока = Лев(ДатаСтрока, 2);

    ДатаЗначение = Дата(ГодСтрока + МесяцСтрока + ДеньСтрока);
```
---
```1c
    Функция ПреобразоватьВДату(ИсхСтр)
    Стр = СокрЛП(ИсхСтр);
    ЭтоДата = Найти(Стр,".") или Найти(Стр,"-") или Найти(Стр,"/");
    ЭтоВремя = Найти(Стр,":");
    Если Не ЭтоДата и Не ЭтоВремя Тогда
    Возврат Дата(1,1,1,1,1,1);
    КонецЕсли;
    МассивДат = Новый Массив;
    МассивВремени = Новый Массив;
    врСтр = ";
    Для а = 1 По СтрДлина(Стр) Цикл
    Если (Сред(Стр,а,1) = "." или Сред(Стр,а,1) = "-" или Сред(Стр,а,1) = "/") и ЭтоДата Тогда
    МассивДат.Добавить(Число(врСтр));
    врСтр = ";
    ИначеЕсли Сред(Стр,а,1) = ":" и Не ЭтоДата Тогда
    МассивВремени.Добавить(Число(врСтр));
    врСтр = ";
    ИначеЕсли Сред(Стр,а,1) = " " или КодСимвола(Сред(Стр,а,1))<48 или КодСимвола(Сред(Стр,а,1))>57 Тогда
    Если МассивДат.Количество()>0 и МассивДат.Количество()<3 и врСтр <> " Тогда
    МассивДат.Добавить(Число(врСтр));
    КонецЕсли;
    ЭтоДата = Ложь;
    врСтр = ";
    Иначе
    врСтр = врСтр + Сред(Стр,а,1);
    КонецЕсли;
    КонецЦикла;
    Если МассивВремени.Количество()>0 и МассивВремени.Количество()<3 и врСтр <> " Тогда
    МассивВремени.Добавить(Число(врСтр));
    ИначеЕсли МассивДат.Количество()>0 и МассивДат.Количество()<3 и врСтр <> " Тогда
    МассивДат.Добавить(Число(врСтр));
    КонецЕсли;
    врДень = 0;
    врМесяц = 0;
    врГод = 0;
    Для Каждого дСтр из МассивДат Цикл
    Если врДень <> 0 и врМесяц <> 0 Тогда
    врГод = дСтр;
    ИначеЕсли врГод <> 0 и врМесяц <> 0 Тогда
    врДень = дСтр;
    ИначеЕсли врГод <> 0 или врДень <> 0 Тогда
    врМесяц = дСтр;
    КонецЕсли;
    Если дСтр/100>1 Тогда
    врГод = дСтр;
    КонецЕсли;
    Если врГод = 0 и врДень = 0 Тогда
    врДень = дСтр;
    КонецЕсли;
    КонецЦикла;
    врЧас = 0;
    врМин = 0;
    врСек = 0;
    Для Каждого вСтр из МассивВремени Цикл
    Если врЧас = 0 Тогда
    врЧас = вСтр;
    ИначеЕсли врМин = 0 Тогда
    врМин = вСтр;
    ИначеЕсли врСек = 0 Тогда
    врСек = вСтр;
    КонецЕсли;
    КонецЦикла;
    Если врГод = 0 или врГод > 9999 Тогда
    врГод = 1;
    ИначеЕсли врГод/100<1 Тогда
    врГод = врГод + 2000;
    КонецЕсли;

    Если врМесяц = 0 или врМесяц>12 Тогда
    врМесяц = 1;
    КонецЕсли;
    Если врДень = 0 или врДень>31 Тогда
    врДень = 1;
    КонецЕсли;
    Если врЧас>23 Тогда
    врЧас = 0;
    КонецЕсли;
    Если врМин>59 Тогда
    врМин = 0;
    КонецЕсли;
    Если врСек>59 Тогда
    врСек = 0;
    КонецЕсли;
    Возврат Дата(врГод,врМесяц,врДень,врЧас,врМин,врСек);
    КонецФункции
```
---
"R" + Формат(Строка, "ДФ=dd.MM.yyyy; ДЛФ=DT") + "C7"

Это что? Ну, своими словами.
---
С7 - номер столбика, R - номер строки
---
Нет это значит скопипастили, не разобрались, что написано и начали "улучшать".
---
R - номер строки А какой номер строки будет получен в результате вычисления функции формат?
---
Он определяется автоматичестки, потому что до этого прописана функция Для Строка = 2 По ТабДок.ВысотаТаблицы Цикл
---
Строка = 2Очень хорошо.
Какой номер строки получен в результате применения "R" + Формат(Строка, "ДФ=dd.MM.yyyy; ДЛФ=DT") при Строка = 2 ?

UPD
И при Строка = 1000, например
---
Логично же что 2
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сейчас посмотрел, данные почему-то даже в табло не отображаются
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
т.е. каждая строка импорта начинается со 2й строки
---
Я пробовал и через эту функцию, все равно не получается
---
Значит, неправильно передаются аргументы... если вообще передаются, с учетом замечаний коллег.

Чему у вас равно ТабДок.ПолучитьОбласть("R" + Формат(Строка, "ДФ=dd.MM.yyyy; ДЛФ=DT") + "C7").ТекущаяОбласть.Текст в Отладчике?
---
Так хорошо, как исправить аргументы?
---
Если приведете конкретный пример, будет великолепно
---
Вы слово "Отладчик" видите? Его значение вам понятно?
---
Нет блин не вижу и не понимаю, конечно вижу и понимаю, у меня весь импорт работает, все данные записываются, кроме даты, мне нужно понять как дату записать и все
---
"мне нужно понять как дату записать и все" Задействуйте понималку. Или обращайтесь в "Битву экстрасенсов" - тут только программисты.

P.S. Пациент безнадежен...
---
Что вы хотите от меня услышать конкретно, чтобы вы мне могли помочь?
---
Ничего, уже ничего...
---
Ну так помогите, может вам скриншоты предоставить или что-то еще, скажите только
---
Я пробую через метод ДАТА("R"+Строка+"C7"); Выдает ошибку: преобразование значения Дата не может быть выполнено, что делать?
---
я перепробовал несколько методов, ни 1 не сработал
---
покажете в каком виде вы получаете дату из эксель файла?
---
ЭлементЗаявка.ДатаОплаты = Дата("R"+Строка+"C7"); вы про это?
---
да. Только не кусок кода, а желательно то что в отладчике показывает.
---
Дата("R"+Строка+"C7"); не совсем понятно для чего тут "R" и "C7"?
---
Хорошо, а как тогда области из Excel указать, если не так?
---
```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ВашФайл, СпособЧтенияТабличногоДокумента.Значение);
    Построитель = Новый ПостроительЗапроса;
    Построитель .ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область());
    Построитель .ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
    Построитель .ЗаполнитьНастройки();
    Построитель .Выполнить();
    ТаблицаЗначений = Построитель .Результат.Выгрузить();
```
 на выходе получите таблицу значений. Дальше уже циклом обходите. Если в файле сложная структура или первые строки пустые, то не взлетит метод. А если простенький файл то вполне подойдет.
---
Если оставлять пустые скобки Дата(), выдается ошибка
---
Сообщение было скрыто модератором.
---
может человек учится, как гуглить еще не совсем разобрался, зачем оскорблять сразу? =)
---
Спасибо, я студент и пытаюсь разобраться, в гугле не нашел ничего полезного, поэтому полез на форму
---
зачем оскорблять сразу? =) После 40 сообщений в ветке - это "сразу"?

По-моему, это ангельское терпение с моей стороны - вот за него даже неудобно, коллега гораздо раньше все понял. ;-)
---
Нет терпения выйдите из темы и не следите, найдутся люди, у которых терпение больше вашего, а вам тогда к врачу нужно, раз терпения мало
---
Сообщение было скрыто модератором.
---
пришлите скриншот из файла эксель, как там дата выглядит?
---
Сообщение было скрыто модератором.
---
Дата Оплаты
---
```1c
    Массив = СтрРазделить(ДатаИзФайла, ".");
    Если Массив.Количество() = 3 Тогда
    ПолученнаяДата = Дата(Массив[2] + Массив[1] + Массив[0]);
    КонецЕсли;
```
---
Опять ошибка преобразования значения к типу Дата не может быть выполнено
---
А это пробовали ?

ДатаСтрокой = Строка(табДок.ПолучитьОбласть("R" + Формат(сч, "ЧГ=0;") + "C9").ТекущаяОбласть.Текст);
Дата = Дата(ДатаСтрокой +" 00:00:00");
---
Пробовал, тоже не записывает, но ошибку не выдает
---
ДатаСтрокой = Строка(табДок.ПолучитьОбласть("R" + Формат(сч, "ЧГ=0;") + "C9").ТекущаяОбласть.Текст);

  Если ПустаяСтрока(ДатаСтрокой ) Тогда
   Сообщить("не заполнена дата!");
   Продолжить;
  КонецЕсли;

Дата = Дата(ДатаСтрокой +" 00:00:00");
---
Попробуйте прочитать как текст:

ТабДок = Новый ТабличныйДокумент;
//ТабДок.Прочитать(ИмяФайла,СпособЧтенияЗначенийТабличногоДокумента.Значение);
ТабДок.Прочитать(ИмяФайла,СпособЧтенияЗначенийТабличногоДокумента.Текст);
---
у меня идет вот так: Процедура ИмпортНаСервере(Результат, ДопПараметр)
 //проверка выбора файла
 Если НЕ(Результат = Неопределено) Тогда //файл выбран
  СсылкаНаФайл = Результат[0];
 Иначе
  Сообщить("Файл не выбран"); //файл не выбран
  Возврат;
 КонецЕсли;

 //Обращение к данным
 ТабДок = Новый ТабличныйДокумент;
 ТабДок.Прочитать(СсылкаНаФайл);
---
Сообщить(табДок.ПолучитьОбласть("R" + Формат(сч, "ЧГ=0;") + "C9").ТекущаяОбласть.Текст) - что показывает ?
---
в том то и дело, что ничего, остальные реквизиты записываются, а дата также нет
---
Тогда попробуйте так:

ТабДок.Прочитать(ИмяФайла,СпособЧтенияЗначенийТабличногоДокумента.Значение);
---
ТабДок.Прочитать(СсылкаНаФайл); попробуйте указать способ, которым файл должен читаться. Как в (56)
---
Попробовал, с .Значение выдается ошибка, с .Текст опять не записывается именно дата
---
```1c
    Процедура ИмпортНаСервере(Результат, ДопПараметр)
    //проверка выбора файла
    Если НЕ(Результат = Неопределено) Тогда //файл выбран
    СсылкаНаФайл = Результат[0];
    Иначе
    Сообщить("Файл не выбран"); //файл не выбран
    Возврат;
    КонецЕсли;

    //Обращение к данным
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(СсылкаНаФайл,СпособЧтенияЗначенийТабличногоДокумента.Текст);

    Для Строка = 2 По ТабДок.ВысотаТаблицы Цикл
    ЭлементЗаявка = Справочники.ЗаявкиИмпорт.СоздатьЭлемент();

    Массив = СтрРазделить(ЭлементЗаявка.ДатаОплаты, ".");
    Если Массив.Количество() = 3 Тогда
    ПолученнаяДата = Дата(Массив[2] + Массив[1] + Массив[0]);
    КонецЕсли;
```

В таком формате у меня сейчас это написано, но оно не работает, ошибка преобразования
---
ЭлементЗаявка.ДатаОплаты у вас это значение не заполнено, вам нужна дата именно из вашего табдок.
---
приложи эксель файл
---
Вот файл
---
Работает же:
---
Спасибо огромное, теперь все работает.
---
Вас не смущает наличие вот таких значений дата в вашем файле?
---
извините меня, не хочу показаться глупым, хотя уже... но я не понимаю что туда нужно именно вписать, там же указан реквизит ДатаОплаты
---
вашу дату. Вы создаете новый документ. Пока вы его не запишете или не присвоите дату программно, она будет пустой.
---
Сообщение было скрыто модератором.