Самый простой способ загрузки Эксель (Excel) в 1С! + РОЗЫГРЫШ книги

Поділитися
Вставка
  • Опубліковано 2 лют 2023
  • Наши курсы:
    ⚡ Курс 1С программирования для начинающих - stepik.org/a/185939
    ⚡ Курс по СКД - stepik.org/a/187221
    Промокод для подписчиков канала - ВАСИЛИЙПРО15
    Для участия в конкурсе нужно быть подписанным на данный канал и вступить в чат в телеграмме - t.me/VasiliiPro1C
    Итоги подведен 08.02.2023!!!
    Надеюсь данное видео помогло кому то ответить на свой вопрос и сэкономить свое время!
    По вопросам/предложениям можете обращаться на почту - 1cpro@internet.ru
    Если тебе помогли мои видео и ты хочешь меня отблагодарить, это можно сделать с помощью:
    - www.donationalerts.com/r/vasi...
    - Перевод на карту Сбера 5469 3800 9418 2085

КОМЕНТАРІ • 73

  • @VasiliiPro1C
    @VasiliiPro1C  3 місяці тому

    Наши курсы:
    ⚡ Курс 1С программирования для начинающих - stepik.org/a/185939
    ⚡ Курс по СКД - stepik.org/a/187221
    Промокод для подписчиков канала - ВАСИЛИЙПРО15

  • @Dina-sc5ks
    @Dina-sc5ks Рік тому

    Спасибо, что делитесь. Очень нравится ваш канал😊

  • @user-qp2vt9fw3r
    @user-qp2vt9fw3r 8 місяців тому

    Василий, ты молодец! Хорошая подача материала, - без воды и с объяснением кода. Лайк и подписка.

  • @user-fr7pq5qg7u
    @user-fr7pq5qg7u 10 місяців тому +1

    доступное объяснение. хороший пример с табличкой.

  • @denisk2182
    @denisk2182 Рік тому

    Класс. Всё доступно и понятно. Без всякой воды. Чётко по делу. Круто. Даже на скорости 1,5 всё понятно и доходчиво. Спасибо за видео 👍👍👍 Как раз задача такая привалила. Надо разные сущности создавать, от номенклатуры, до документов и всё на основании одного файла.

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому +1

      Спасибо за обратную связь)

  • @leoneqful
    @leoneqful 11 місяців тому

    Спасибо, хороший ролик. Делаю обработку создания документов из отчета xml, помог немного разобраться.

  • @user-oo6en8fq5m
    @user-oo6en8fq5m Рік тому

    Спасибо! )

  • @maxglu7165
    @maxglu7165 Рік тому +1

    Василий, у меня есть предложение для нового видео: Печать комплектов печатных форм.
    А это видео - Бомба!

  • @andreywonttell4016
    @andreywonttell4016 2 місяці тому

    Сам пользуюсь таким способом. Только 1 недочет - загрузка файла на сервере. Если база клиент-серверная, то такой подход приведет к тому, что искаться файл будет на сервере. Давать пользователю доступ к серверным папкам - плохой тон. Я обычно делаю чтение файла на клиенте во временное хранилище, затем размещение его в ТМП папке сервера, а дальше уже загружаю в табличный документ.

  • @jonymartynez3881
    @jonymartynez3881 Рік тому

    Круто!

  • @ilya_ibb
    @ilya_ibb Рік тому

    Супер! Хотелось бы увидеть про доработку типовых отчетов что то

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      Привет! Интересная тема, только вот в практике не так много дорабатывал типовых отчетов, в основном пишу с 0 внешний и подключаю. Если у тебя была практика то расскажи, с каким отчетом и какие манипуляции приходилось делать, может и освещу эту тему:)

  • @user-hb5kn8oq7k
    @user-hb5kn8oq7k Рік тому

    спасибо тебе))

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      Всегда пожалуйста) рад что данное видео помогло)

  • @user-jo9wl4hp7y
    @user-jo9wl4hp7y 11 місяців тому

    При загрузке из ексел, если потом нужно сравнивать эти данные сталкивался с таким: пробелы в начале или в конце слова, и в строку числа писались с пробелом
    Вынес в общ модуль форматирование строки,
    получилось так
    стрЗаменить(СокрЛП(Значение), символы.НПП, "")
    так внутри слова пробелы не ело, зато из чисел их поубирало

  • @Rarogg
    @Rarogg 5 місяців тому

    А может кто-нибудь подсказать? Пишу аналогичную обработку, при чтении табличного документа у меня высота таблицы получается 269, хотя фактически заполнено около 25 строк, но в начале таблицы есть лого организации, некое подобие шапки документа, таблица начинается с 19 строки.

  • @UrmatKasymov
    @UrmatKasymov 26 днів тому

    Наглядно

  • @andreyfrolov7839
    @andreyfrolov7839 Рік тому +2

    Если клиент и сервер разные машины, то такая реализация не взлетит. Нужно передавать файл на сервер через временное хранилище.

  • @klo_key68
    @klo_key68 10 місяців тому

    Здравствуйте, при загрузке данных из таблицы эксель в справочник, данные не загружаются. Но при этом, визуально они загружаются ( часть видео с 14:10). В чем может быть проблема? Никаких ошибок не выводит.

  • @andispell
    @andispell Рік тому

    Ждём подробное видео загрузки через временное хранилище. Подисался

  • @Melzeep
    @Melzeep 9 місяців тому

    Я не очень понял, как не асинхронный метод "выбрать" тут работает?

  • @fedoroveugene
    @fedoroveugene 5 місяців тому

    есть вариант как быть, если книга excel и лист excel запаролены? пароль известен

  • @Raphael-qz1zo
    @Raphael-qz1zo Рік тому

    Полезное видео!
    А как быть если нужно загрузить данные с двух листов эксель документа в одну таблицу значений? Причем нужно сделать соответствие по листам, т.к. в одной строке таблицы должны быть данные и с первой и со второй страницы вместе

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому +1

      Сколько вопросов оказывается в загрузке 1С) я как то сталкивался с этим, но уже не помню конечно с лету решение) посмотрю и сниму видео)

    • @Raphael-qz1zo
      @Raphael-qz1zo Рік тому

      @@VasiliiPro1C
      Будет отлично, если снимите!
      Я начинающий, сам сейчас пытаюсь решить подобную задачу)

  • @user-qp2vt9fw3r
    @user-qp2vt9fw3r 8 місяців тому

    Василий, не подскажете, как табличному реквизиту указать ссылку на элемент другого справочника? Например, загружаю контрагентов, в нем есть поле "Гражданство" - это поле выбора из справочника "Страны". Спасибо.

    • @VasiliiPro1C
      @VasiliiPro1C  8 місяців тому

      В свойствах реквизита нужно выбрать нужны тип. Потом соответственно заполнить это реквизит используя один из методов по поиску элемента справочника, например НайтиПоНаименованию()

    • @user-qp2vt9fw3r
      @user-qp2vt9fw3r 8 місяців тому

      @@VasiliiPro1C Написал: СтрокаДанных.IdentityDocumentType = Справочники.Countries.НайтиПоНаименованию(ТабДок.ПолучитьОбласть("R" + Формат(НомерСтроки, "ЧГ=0") + "C" + 9).ТекущаяОбласть.Текст); в Типе реквизита указал на справочник Countries, но при нажатии на Загрузить данные, колонка IdentityDocumentType пустая, но зато дает выбрать данные из справочника 😆

  • @rendbird
    @rendbird Рік тому

    Почему на 23:43 контрагенты автоматически обновились, а мне приходится перезаходить на вкладку, чтобы данные отображались?

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      У меня тоже не автоматически, я нажимаю кнопку F5 на клавиатуре (обновляет форму в 1С (кстати не только в 1С)) вообщем попробуй нажать и у тебя тоже всё обновился, не надо будет закрывать и открывать заново)

  • @alexeyvlryazanov
    @alexeyvlryazanov Рік тому

    Добрый день! Вы можете показать как загрузить из Excel таблицу с иерархией на форму в Дерево Значений в документе (и чтобы данные документа сохранялись)? Таблица в файле содержит колонки: [Номер строки], [Номер строки родителя], [Наименование], [Количество]?

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      Привет! Если только в телеграмме могу помочь, снимать такое видео думаю бессмысленно)

  • @VeterSvobodi
    @VeterSvobodi Рік тому

    Вопрос можно было через асинх сделать. Таблицу на форме можно было динамически по содержимому тз рисовать.

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      Не понял в чем вопрос) можно вроде, я с такими функциями еще не работал))

    • @VeterSvobodi
      @VeterSvobodi Рік тому

      @@VasiliiPro1C Функцию вопроса в смысле можно сделать через асинх

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому +1

      А, да, можно)

  • @user-sx6se9xf2w
    @user-sx6se9xf2w 11 місяців тому

    А что делать, если тип реквизита ссылка справочник или перечисление? Он не передает их, если указать строку((( надо получать объект?

    • @VasiliiPro1C
      @VasiliiPro1C  11 місяців тому

      При загрузке их эксель? Находите нужный объект в справочнике использую функции НайтиПоНаименованию например

    • @user-sx6se9xf2w
      @user-sx6se9xf2w 11 місяців тому

      @@VasiliiPro1C а цикл остается прежним? мы в цикле НайтиПоНаименовнию используем или все-все меняется? Как выглядит пример?
      Если что, не кидайтесь тапками, только изучаю(

    • @user-sx6se9xf2w
      @user-sx6se9xf2w 11 місяців тому

      @@VasiliiPro1C а так видео супер полезное и понятное, спасибо за это!)
      Мучаюсь только со сложными типами данных, хех)

    • @VasiliiPro1C
      @VasiliiPro1C  11 місяців тому

      @@user-sx6se9xf2w не за что) присоединяйтесь в телеграмме в чате, там быстрее могут ответить

  • @alan-1c
    @alan-1c 11 місяців тому

    Если окно вопроса закрыть, то результат = неопределено, а код все равно отработает, так как стоит неправильное условие.

  • @worthyplayer666
    @worthyplayer666 11 місяців тому

    Спасибо за видео
    Почему может выдавать ошибку "Слишком много фактических параметров"? Когда вывожу сообщение о существующих?

    • @VasiliiPro1C
      @VasiliiPro1C  11 місяців тому

      Смотри сколько переменных в процедуру передаешь и сколько принимаешь)

    • @worthyplayer666
      @worthyplayer666 11 місяців тому

      @@VasiliiPro1C Эта в части кода, которая внутри процедуры создания номенклатуры (в вашем видео, контрагентов), я же их никуда не передаю и не принимаю ни откуда?
      Сообщение.Текст = СтрШаблон("Номенклатура &1 с Кодом &2 уже есть в информационной базе.",Товар.НаименованиеХарактеристика, Товар.НоменклатурныйНомер);

    • @worthyplayer666
      @worthyplayer666 11 місяців тому

      Запись та же что у вас, но при этом ошибку выдаёт

    • @VasiliiPro1C
      @VasiliiPro1C  11 місяців тому

      Не совсем та, смотри внимательнее на символы, я взял пример этой функции из синтаксис помощника:
      СтрШаблон("Ошибка в данных в строке %1 (требуется тип %2)", 2, "Дата")
      У тебя &, а надо %

  • @user-nq2ur9we8j
    @user-nq2ur9we8j Рік тому

    А можно ТОЛЬКО загрузить Файлы? Т.е. через одну кнопку?

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      А что вы с ними еще хотите сделать?) не совсем понял вопрос

    • @user-nq2ur9we8j
      @user-nq2ur9we8j Рік тому

      Чтобы сначала не через Загрузить данные, а сразу в Создать контрагентов

    • @user-nq2ur9we8j
      @user-nq2ur9we8j Рік тому

      И ещё, когда нажимаю на кнопку Выбрать (чтобы открыть файл), появляется Выбор файла, нажимаю на нужный файл и потом выскакивает: Введите строку для поиска
      Что не так?

  • @dmitriys5353
    @dmitriys5353 3 місяці тому

    +

  • @jonymartynez3881
    @jonymartynez3881 Рік тому

    А если данные нужно загружать в справочник, не в табличную часть.

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      Загружаем в тч просто чтобы посмотреть что там вообще в файле, дальше то загружаем в справочник естественно) но с этим не должно быть проблем

    • @jonymartynez3881
      @jonymartynez3881 Рік тому

      @@VasiliiPro1C Спасибо! Хороший контент у Вас! 👍

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      Спасибо Вам за обратную связь!

  • @Vyazanie777
    @Vyazanie777 11 місяців тому

    Выходит ошибка: “область не найдена: R2C1”

    • @VasiliiPro1C
      @VasiliiPro1C  11 місяців тому

      Заходи в телеграмм чат и скидывай ошибку) Посмотрим!

    • @user-tf2wq6ws2p
      @user-tf2wq6ws2p 8 місяців тому

      Та же беда 😅

  • @zabaluev
    @zabaluev Рік тому +3

    Зачем так сложно обращаться к значениям ячеек, через склейку строк RC, лучше по индексу. Зачем использовать "ПолучитьОбласть", вообще не нужно. Вот код для примера
    Для НомСтр = 2 По ТабДок.ВысотаТаблицы Цикл
    Поле1 = Табдок.Область(НомСтр, 1,НомСтр, 1).Текст;
    Поле2 = ТабДок.Область(НомСтр, 2,НомСтр, 2).Текст;
    КонецЦикла;

    • @VasiliiPro1C
      @VasiliiPro1C  Рік тому

      Мне показалось что такой пример визуально понятнее будет для новичка, но приемов, конечно же, много))

  • @UlugbekKirgizbaewKirul
    @UlugbekKirgizbaewKirul Рік тому +1

    Попробуйте такой метод, очень быстро работает чем построчный режим чтения. Только минусы в файле экзел названия колонки не должен начинатся с пробел и цифры, потому что названия колонки из экзел будет добавляется как колонки ТЗ
    &НаКлиенте
    Процедура КомандаПрочитать(Команда)

    ИмяФайла = "D:\Товары.xlsx"
    ЗагрузкаНоменклатуры_ПрочитатьФайл(ИмяФайла);
    КонецПроцедуры
    &НаСервере
    Функция ЗагрузкаНоменклатуры_ПрочитатьФайл(ИмяФайла)

    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.Прочитать(ИмяФайла);

    ВсегоСтрок = ТабДокумент.ВысотаТаблицы;
    ВсегоКолонок = ТабДокумент.ШиринаТаблицы;
    Область = ТабДокумент.Область(1,1,ВсегоСтрок,ВсегоКолонок);
    ИсточникДанных = Новый ОписаниеИсточникаДанных(Область);
    ПостроительОтчета = Новый ПостроительОтчета;
    ПостроительОтчета.ИсточникДанных = ИсточникДанных;
    ПостроительОтчета.Выполнить();

    ТабЗначений = ПостроительОтчета.Результат.Выгрузить();


    Для каждого стр Из ТабЗначений Цикл

    КонецЦикла;

    КонецФункции

  • @timgg9861
    @timgg9861 2 місяці тому

    Это способ не будет работать в серверном режиме, почему об этом не говорится????

    • @VasiliiPro1C
      @VasiliiPro1C  2 місяці тому

      Откройте следующее видео!
      Почему не смотрим???????? :)

  • @alan-1c
    @alan-1c 11 місяців тому

    ИНН - это строка так как может начинаться с нуля.

  • @allexallex5617
    @allexallex5617 9 місяців тому

    Видео не сильно корректное. Если клиент и сервер на разных машинах или прав учётной записи сервера не хватит на выбранную папку, то не взлетит.

  • @vallak1981
    @vallak1981 7 місяців тому

    И зачем вообще такое снимать где путь к файлу хардкодится? Как это в практической задаче применить? Неужели трудно было показать через ДиалогВыбораФайла ил ДиалогПомещенияФайла?

  • @alur29
    @alur29 10 місяців тому

    Это не самый быстрый способ.

    • @VasiliiPro1C
      @VasiliiPro1C  10 місяців тому

      На быстроту никто и не претендует, написано же что самый простой:)

  • @pillowanalyst
    @pillowanalyst Рік тому +2

    &НаКлиенте
    Процедура ДвоичныеДанныеВоВременноеХранилище(Команда)
    ДД = Новый ДвоичныеДанные(ПутьКФайлу);
    АдресВХ = ПоместитьВоВременноеХранилище(ДД);
    ПрочитатьИзВХНаСервере(АдресВХ);

    КонецПроцедуры
    &НаСервере
    Процедура ПрочитатьИзВХНаСервере(АдресВХ, Режим = "Значение")

    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xlsx");

    ДД = ПолучитьИзВременногоХранилища(АдресВХ);
    ДД.Записать(ИмяВременногоФайла);
    СпособЧтения = СпособЧтенияЗначенийТабличногоДокумента.Значение;

    Попытка
    ТабДок.Прочитать(ИмяВременногоФайла, СпособЧтения);
    Исключение
    КонецПопытки;

    КонецПроцедуры