Тёмный

5. Как прочитать файл EXCEL в 1С 

IRONSKILLS - Курсы по 1С
Подписаться 57 тыс.
Просмотров 50 тыс.
50% 1

В этом видео рассмотрим как прочитать файл Excel в 1С.
Задача по загрузке Excel в 1С встречается очень часто. После этого видео Вы без труда сможете сделать обработку по загрузке Excel в 1С.
#уроки1С#excelв1c#ironskills#эксель1с
🔴Записаться на курс "Работа с файлами в 1С":
ironskills.by/rabota-s-faylam...

Опубликовано:

 

22 янв 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 82   
@evgunrururu4150
@evgunrururu4150 3 года назад
Дай бог автору здоровья
@A.M.2014
@A.M.2014 7 месяцев назад
Супер темп! Супер голос! Супер изложение! Спасибо!
@ExcelStore
@ExcelStore 4 года назад
Спасибо за видео!
@igorzabelkin5229
@igorzabelkin5229 4 года назад
Спасибо за видео, очень помогло
@user-yd6du9jp6h
@user-yd6du9jp6h Год назад
Спасибо! Прекрасно работает. Сначала с расширением немного ошибся в коде, пришлось понервничать, но потом успокоился, "випил чашечку кофе", нашел ошибку.
@Ahir100
@Ahir100 3 года назад
Очень полезные все видеоматериалы Я начинающий программист и очень много полезного взял с ваших уроков Вы обещали рассказать про чтении файла при загрузке в клиент-серверном варианте Дошел до этого выдает ошибку не обнаружен каталог А в файловом варианте все работает. Не могли бы дать ссылку на урок если есть, а то сам не могу найти?
@user-cd4uw5dd7j
@user-cd4uw5dd7j 2 года назад
При реализации столкнулась с тем, что в качестве параметра метода Прочитать нужно передавать имя временного файла xls, полученного на стороне сервера, иначе можно получить ошибку чтения файла. Спасибо за такие понятные уроки, возникла задача перехода на УФ, и Ваш канал очень актуален) Жду новых видосов)
@Anton-ni8un
@Anton-ni8un 2 года назад
Не обязательно xls, должно быть любое расширение из поддерживаемых файлов.
@Alcoholdehydrogenas
@Alcoholdehydrogenas 2 года назад
Круто. СПасибо.
@cryptoprofit1190
@cryptoprofit1190 9 месяцев назад
Подскажите а есть ли разница в чтении XLS и XLSX - старый новый форматы Excel? Так же еще интересно а как в Excel файле XLS можно прочитать например вторую или последующие вкладки, ведь в этом файле может быть несколько вкладок
@alexeyvlryazanov
@alexeyvlryazanov Год назад
Добрый день! Вы можете показать как загрузить из Excel таблицу с иерархией на форму в Дерево Значений в документе (и чтобы данные документа сохранялись)? Таблица в файле содержит колонки: [Номер строки], [Номер строки родителя], [Наименование], [Количество]?
@svettiana
@svettiana 9 месяцев назад
Здравствуйте! Я пока только учусь....Подскажите, пожалуйста, в данном видео используется процедура ПоместитьВоВременноеХранилище файла в виде двоичных данных. А как при таком способе можно передать информацию о расширении файла (xls или xlsx) чтобы в дальнейшем на сервере можно было получить оба варианта? У Вас в этом же плейлисте есть другое видео, где информация о расширении файла передается, но там уже метод ПоместитьФайлНаСерверАсинх...получается, используя процедуру ПоместитьВоВременноеХранилище такую вариантность расширений не предусмотреть?
@betmobile
@betmobile 3 года назад
Каждый раз убеждаюсь, что многое нужно просто запоминать! Метод ПолучитьОбласть используется, например, при создании печатной формы. И эта область заполняется значениями из документа. А тут нужно из табличного документа прочитать значение. Поэтому используется свойство ТекущаяОбласть.Текст. Если конечно я правильно поняла....
@OskemenEV
@OskemenEV 3 года назад
По Вашим видео дорабатываю рабочую базу бухгалтера. Расскажите как прописать процедуру записи в номенклатуру, все работает все прочитывает, хотелось бы еще узнать как зделать что бы и записывались все данные в номенклатуру.
@user-xh9kp4sz8p
@user-xh9kp4sz8p Год назад
Здравствуйте , а что делать если на компьютере нет установленного exel? Данная обработка прочтет файл?
@user-gg4ee2vl9b
@user-gg4ee2vl9b 11 месяцев назад
Здравствуйте! Большое спасибо за ваш труд! Подскажите пожалуйста, как устроен реквизит "путь к файлу"? Как к реквизиту привязать диалог выбора?) Заранее благодарю)
@ironskills-1c
@ironskills-1c 11 месяцев назад
Здравствуйте! Реквизит ПутьКФайлу имеет тип "Строка". На форме отображается с помощью элемента вида "Поле ввода". У элемента формы установлен флаг "Кнопка выбора", и создан обработчик события НачалоВыбора, которое возникает при нажатии на кнопку выбора) Для того чтобы показать диалог выбора файла используется объект встроенного языка ДиалогВыбораФайла. Кстати, про диалоги у нас есть материал на канале: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-t1Uiv9FQyyo.html
@user-sd5ox2uh7t
@user-sd5ox2uh7t 3 года назад
Прекрасный курс, но вы не рассмотрели создание обработчика для команды Записать данные.
@sta.7931
@sta.7931 2 года назад
Подскажите пожалуйста, какой видеоролик является продолжением курса? Записать прочитанные данные в Базу
@ironskills-1c
@ironskills-1c 2 года назад
На канале такого ролика пока что нет(
@user-cd8us6dj4i
@user-cd8us6dj4i 10 месяцев назад
Доброго времени суток! Вроде бы делал по аналогии с видео, так же для клиент-серверного варианта временное хранилище использовал. Все хорошо, файл читается, но у меня есть поле в котором появляется разделитель. Пробовал и через Формат пробел убирать и через СтрЗаменить(Значение," ",""). Но пробел не уходит и в итоге вместо строки с 6 символами (123456) получается 7 символов ("123 456"). Подскажите пожалуйста, как это поправить? На примере у Вас УПП отлично заполняется без пробелов.
@ironskills-1c
@ironskills-1c 10 месяцев назад
Здравствуйте!) Скорее всего в строке содержится неразрывный пробел, удалить его из строки можно так: Результат = СтрЗаменить(ИсходнаяСтрока, Символы.НПП, "");
@user-cm1tu7yv5x
@user-cm1tu7yv5x 3 года назад
Подскажите, почему в 02:20 нельзя сразу из процедуры ПрочитатьФайл() вызвать процедуру ПрочитатьФайлXLSНаСервере? Для чего нужна промежуточная процедура ПрочитатьФайлXLS?
@user-yu5fg3ee6p
@user-yu5fg3ee6p 2 года назад
Метод Табличного документа прочитать не доступен на клиенте
@NOBODY-kq5fy
@NOBODY-kq5fy 3 года назад
Подскажите пожалуйста, почему может выдавать такую ошибку? Делал все один в один как в ролике Не найден экспортируемый метод: ПослеВыбораФайла
@ironskills-1c
@ironskills-1c 3 года назад
Скорее всего для процедуры ПослеВыбораФайла не указали ключевое слово Экспорт)
@AlekseiAstahov
@AlekseiAstahov 2 года назад
Тут ниже "дедушка Повидло" спрашивал зачем промежуточная процедура на клиенте ПрочитатьФайл_XLS ему ответили, но я думаю он иное имел ввиду, поэтому присоединяюсь к его вопросу. Я думаю почему сразу из Процедуры ПрочитатьФайл(Команда) перед которой стоит &НаКлиенте нельзя сразу вызвать процедуру &НаСервере ПрочитатьФайл_XLS_НаСервере()
@AlekseiAstahov
@AlekseiAstahov 2 года назад
Отвечаю сам себе)) Помотал по ниже нашёл ответ)
@NonStopPlayChannel
@NonStopPlayChannel 2 года назад
Спасибо за видео. НО есть вопрос. Все делаю, как и ты, но только во внешней обработке. И после нажатия на кнопку получаю следующую ошибку. Не удалось прочитать указанный файл по причине: {ВнешняяОбработка.ЗакрузкаСправочникаТоваровИзXLS.Форма.Форма.Форма(40)}: Ошибка при вызове метода контекста (Прочитать): Ошибка при выполнении файловой операции 'C:\Users\dobre\AppData\Local\Temp\v8_8CCE_20.xls'. Доступ к файлу не может быть получен. Как это поправить?
@NonStopPlayChannel
@NonStopPlayChannel 2 года назад
Вопрос отпал, надо было полностью закрыть файл и пересохранить в xls. Перезагрузка компа помогла
@ironskills-1c
@ironskills-1c 2 года назад
Отлично, что сами смогли разобраться в проблеме) И спасибо что написали, как решили проблему!)
@A.M.2014
@A.M.2014 7 месяцев назад
Такая же была ошибка. Оказывается адрес ячейки в эксель указала в русской раскладке С, но понятно, что надо в англ. Исправила, все сработало
@KaI7KaH
@KaI7KaH 2 года назад
Доброго дня, делаю по вашим видео, но только во внешней обработке. Есть Вопрос: у вас ячейки в excel имеют формат R1C2, у меня просто A1 либо B4 Как прописать чтения ячейки, (7:44) для моего типа ячейки?
@user-rl1xb4ce3q
@user-rl1xb4ce3q 2 года назад
Добрый вечер. Можете заменить стиль ссылок в Экселе в настройках.
@user-yu5fg3ee6p
@user-yu5fg3ee6p 2 года назад
чтение ячеек мы прописываем не для эксель файла, а для областей созданного табличного документа куда пихается ексель независимо каклй у него стиль
@user-my2ew8ep8u
@user-my2ew8ep8u 3 года назад
Здравствуйте, подскажите как получить Дату? У меня в excel одна из колонок формате даты. Когда запускаю обработку все колонки заполняются, кроме этой
@user-my2ew8ep8u
@user-my2ew8ep8u 3 года назад
Если вместо "текст" ставлю "значение", выдаёт ошибку "поле объекта недоступно для чтения(значение)"
@ironskills-1c
@ironskills-1c 3 года назад
@@user-my2ew8ep8u Здравствуйте! Попробуйте получить дату сначала строкой, например, "28.05.2021", а уже из этой строки можно получить дату, выделив день, месяц и год и воспользовавшись функцией Дата(,,)
@AlekseiAstahov
@AlekseiAstahov 2 года назад
Для чтения этого формата существует несколько разных способов. А хотя бы просто названия, каких? У вас в реквизитах формы Объект с плюсом, а у меня реквизиты создаются рядом. Плюса нет.
@ironskills-1c
@ironskills-1c 2 года назад
Алексей, здравствуйте) Наличие плюса рядом с реквизитом "Объект" зависит от типа этого реквизита и наличия у него собственных свойств, т.е. если, например, это ДокументОбъект.СчетНаОплату, то плюс будет, а если, к примеру, ОбработкаОбъект.ЗагрузкаДанных и у обработки нет ни одного реквизита и нет табличной части - плюса не будет) Про другие способы загрузки из Excel будем разбирать ещё на канале)
@user-fd3us7xj3r
@user-fd3us7xj3r Год назад
а если несколько страниц, как задать номер страницы ?
@Gydvin0303
@Gydvin0303 Год назад
можете подсказать , при выборе файла , выдает ошибку Поле объекта не обнаружено "(ПутьКФайлу)" , в чем проблема , не могу понять
@ironskills-1c
@ironskills-1c Год назад
Добрый день, Денис! А покажите фрагмент кода, пожалуйста
@dimastv2987
@dimastv2987 2 года назад
Не удалось прочитать указанный файл по причине: {ВнешняяОбработка.ЗакрузкаСправочникаТоваровИзXLS.Форма.Форма.Форма(40)}: Ошибка при вызове метода контекста (Прочитать): Ошибка при выполнении файловой операции 'C:\Users\dobre\AppData\Local\Temp\v8_8CCE_20.xls'. Доступ к файлу не может быть получен. Как это поправить?
@ironskills-1c
@ironskills-1c 2 года назад
Возможно файл открыт во время выполнения кода, нужно его закрыть и повторить)
@sorn4910
@sorn4910 Год назад
Здравствуйте, делал все по вашим урокам, только внешнюю обработку и решил протестить на вэбклиенте, возникает ошибка "Конструктор не обнаружен"
@ironskills-1c
@ironskills-1c Год назад
Да, в веб-клиенте есть особенности по работе с файлами, которые не раскрыты в этом видео... Сделаем дополнение)
@flapzz8927
@flapzz8927 Год назад
А если содержимое хранится в ячейке A2 как правильно будет записать?
@flapzz8927
@flapzz8927 Год назад
А я разобрался , стиль ссылок в экселе забыл поставить)
@user-vq9qg7be1c
@user-vq9qg7be1c Год назад
подскажите кто-нибудь пожалуйста, как этим методом решить задачу, если у меня в файле ексель несколько страниц и загрузку необходимо производить с определенной страницы?
@ironskills-1c
@ironskills-1c 11 месяцев назад
Посмотрите вот тут пример: infostart.ru/1c/articles/1760327/
@jonymartynez3881
@jonymartynez3881 Год назад
Как читать дату? В 1с тип данных - дата. При загрузке из файла данные не заполняются.
@ironskills-1c
@ironskills-1c 11 месяцев назад
Нужно преобразовать строку вида "dd.mm.yyyy" в строку вида "yyyymmdd", и уже эту строку можно преобразовать к дате, с помощью функции Дата().
@jonymartynez3881
@jonymartynez3881 11 месяцев назад
@@ironskills-1c Спасибо!
@user-ej1wg3cx7m
@user-ej1wg3cx7m 2 года назад
На 1:46 ИначеЕсли Объект. ФорматФайла = ‘’’’ Эту часть кода = ‘’’’ как так быстро написали?
@ironskills-1c
@ironskills-1c 2 года назад
Алексей, это скорее всего чудеса монтажа :)
@user-cv3sp8se7z
@user-cv3sp8se7z 2 года назад
Не удалось прочитать указанный файл по причине: {Обработка.ЗагрузкаДанныхИзФайла.Форма.Форма.Форма(45)}: Ошибка при вызове метода контекста (Прочитать): Ошибка при выполнении файловой операции 'C:\Users\dkukushkin\Desktop\База \Кол11мая2022 .xls'. Формат файла не поддерживается. Ребят как исправить?
@ironskills-1c
@ironskills-1c 2 года назад
Возможно файл открыт во время выполнения кода, нужно его закрыть и повторить)
@user-wu5tb5hv3x
@user-wu5tb5hv3x 8 месяцев назад
@@ironskills-1c Такая же проблема, но файл закрыт
@kolumbkolumb9337
@kolumbkolumb9337 2 года назад
Добрый день, все сделал как в уроке, но не могу понять почему не может прочитать ячейку , выдает ошибку: Ошибка при вызове метода контекста (ПолучитьОбласть) {Обработка.ЗгрузкаДанныхИзФайла.Форма.Форма.Форма(80)}: СтрокаДанных.Инвойс = ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки,"ЧГ=0")+ "С" + 1).ТекущаяОбласть.Текст; {Обработка.ЗгрузкаДанныхИзФайла.Форма.Форма.Форма(138)}: ПрочитатьФайлНаСервере(); по причине: Область не найдена: R2С1 Область не найдена: R2С1 Файл уже привел к формату 2003 года, но не помогает, не может прочитать, если не ставить параметры (ПолучитьОблать), загружает 1 ячейку во все колонки.
@ironskills-1c
@ironskills-1c 2 года назад
Проверьте, что в обрабатываемом файле есть 2-я строка и 1-я колонка)
@whiteblur94
@whiteblur94 Год назад
@@ironskills-1c та же проблема, все заполнено, но не работает почему - то
@lykanas01
@lykanas01 3 года назад
Из-за чего система может выдавать ошибку "ПрочитатьФайл_XLS_НаСервере"?
@ironskills-1c
@ironskills-1c 3 года назад
Напишите, пожалуйста, полный текст ошибки
@KaI7KaH
@KaI7KaH 2 года назад
Команды формы Обработать Выбрать файл и Прочитать пустые... При нажатии на кнопку ничего не меняется.. Хмммм
@ironskills-1c
@ironskills-1c 2 года назад
Да, если для команды не назначена процедура или содержимое процедуры пустое, ничего не будет происходить)
@user-dz4lu6vc4o
@user-dz4lu6vc4o 2 года назад
Почему то у меня возникает ошибка : Поле объекта не обнаружено (ДанныеФайла)
@ironskills-1c
@ironskills-1c Год назад
Данил, воспользуйтесь отладчиком - нужно поставить точку останова на строке, в которой возикает ошибка и вычислить значение переменной, имя которой указано перед ".ДанныеФайла"
@panalike
@panalike 3 года назад
Зачем тогда создавать процедуру на клиенте? Почему бы сразу не вызвать на сервере?
@ironskills-1c
@ironskills-1c 3 года назад
Это ошибка, введенная в учебный процесс намеренно, чтобы когда человек, который столкнется с ней в реальной практике, понимал что нужно делать))
@StrangersLife
@StrangersLife Год назад
{Обработка.ЗагрузкаДанных.Форма.Форма.Форма(35,1)}: Неопознанный оператор >&НаКлиенте (Проверка: Тонкий клиент) {Обработка.ЗагрузкаДанных.Форма.Форма.Форма(1,1)}: Обнаружено логическое завершение исходного текста модуля (Проверка: Тонкий клиент)
@PTolkachev
@PTolkachev 3 года назад
ТабДок.Область(НомерСтроки, 1, НомерСтроки, 1). Текст Короче и не нужно ни каких форматов строк.
@user-my2ew8ep8u
@user-my2ew8ep8u 3 года назад
спасибо
@user-vc8bh8go2b
@user-vc8bh8go2b Год назад
А как прочитать сразу несколько файлов Excel?
@ironskills-1c
@ironskills-1c Год назад
С помощью метода НайтиФайлы() можно получить все файлы в каталоге с нужным расширением (все файлы Excel), а затем каждый файл прочитать)
@Time_Developer
@Time_Developer Год назад
*3:53** - Крайне плохая практика обучения, т.к. нужно сперва передать данные на сервер, а затем их прочитать.* _Подобным действием, вы лишь запутаете "новобранцев"._
@ironskills-1c
@ironskills-1c Год назад
Да, материал старый, согласен, что можно было объяснить лучше, но мы стараемся расти в этом плане ;)
@Time_Developer
@Time_Developer Год назад
@@ironskills-1c *, раз стараетесь, то молодцы.* _Просто я уже не раз встречал "жертв" подобных уроков, а когда им говоришь, что это не правильно, то они воспринимают замечания "в штыки"._ *Зачем делать заведомо не верные действия, а затем объяснять что это не правильно.* _Крайне не верный подход. Вам же в школе не говорили, что 2+2 это 5, а потом говорили о том, что на самом деле, это 4._
@lusjaK
@lusjaK 3 года назад
Не понимаю почему пишется ошибка {Обработка.ЗагрузкаДанных.Форма.Форма.Форма(54,88)}: Переменная не определена (НомерСтроки) СтрокаДанных.Наименование = ТабДок.ПолучитьОбласть("R" + Формат(>НомерСтроки, "ЧГ=0") + "C" + 2).ТекущаяОбласть.Текст; (Проверка: Сервер) {Обработка.ЗагрузкаДанных.Форма.Форма.Форма(56,88)}: Переменная не определена (НомерСтроки) СтрокаДанных.ПродолжительностьЭкскурсии = ТабДок.ПолучитьОбласть("R" + Формат(
@NonStopPlayChannel
@NonStopPlayChannel 2 года назад
В начале цикла переменная называется НомераСтроки, а в самом цикле НомерСтроки. Поэтому переменная и неопределенна.
@_A-M-A-D-E-U-S_
@_A-M-A-D-E-U-S_ Год назад
Ну и смысл в этом видео? Большинство баз работают на клиент-сереверной архитектуре. А принцип загрузки данных из электронной таблицы в табдок уже только ленивый не расписал.
@ironskills-1c
@ironskills-1c Год назад
В видео один из способов чтения файла Excel, в другом видео есть пример чтения файла на сервере)
Далее
Как прочитать файл DBF в 1С
7:06
Просмотров 11 тыс.
Don’t Flinch!
00:51
Просмотров 7 млн
4 способа прочитать Excel в 1С
35:48
Five Secret Excel tricks that you don't know yet!
7:27
Как прочитать JSON в 1С
18:46
Просмотров 27 тыс.