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

Поделиться
HTML-код
  • Опубликовано: 25 дек 2024

Комментарии • 76

  • @VasiliiPro1C
    @VasiliiPro1C  9 месяцев назад

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

  • @ЭдвардМенталист

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

  • @РомаУфимцев-э6ч
    @РомаУфимцев-э6ч Год назад +1

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

  • @denisk2182
    @denisk2182 Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад +1

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

  • @leoneqful
    @leoneqful Год назад

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

  • @Dina-sc5ks
    @Dina-sc5ks Год назад

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

  • @maxglu7165
    @maxglu7165 Год назад +1

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

  • @andreywonttell4016
    @andreywonttell4016 8 месяцев назад

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

  • @KonstantinIvanovoff
    @KonstantinIvanovoff 2 месяца назад

    Здравствуйте! Большое спасибо за уроки. Благодаря вам стал лучше понимать 1С. Но у меня есть вопрос. Как реализовать выборочную загрузку из файла? Хотелось бы определенные строки загружать из Excel. Не смог найти информацию в Интернете, а код хочется понимать. Буду благодарен советам.

  • @andreyfrolov7839
    @andreyfrolov7839 Год назад +2

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

  • @ФедрФедров-ч4э
    @ФедрФедров-ч4э Год назад

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

  • @ЕвгенияСтурова-и9ц

    Спасибо! )

  • @ilya_ibb
    @ilya_ibb Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @ЭдвардМенталист

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

    • @ЭдвардМенталист
      @ЭдвардМенталист Год назад

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

  • @finansist305
    @finansist305 5 месяцев назад

    Видеоурок +++++ ! Лайк и подписка. А почему так мало видео?

  • @UlugbekKirgizbaewKirul
    @UlugbekKirgizbaewKirul Год назад +1

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

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

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

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

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


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

    КонецЦикла;

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

  • @RedNore
    @RedNore Год назад

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

  • @Melzeep
    @Melzeep Год назад

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

  • @jonymartynez3881
    @jonymartynez3881 Год назад

    Круто!

  • @rendbird
    @rendbird Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @fedoroveugene
    @fedoroveugene 11 месяцев назад

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

  • @Rarogg
    @Rarogg 11 месяцев назад

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

  • @andispell
    @andispell Год назад

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

  • @VeterSvobodi
    @VeterSvobodi Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

    • @VeterSvobodi
      @VeterSvobodi Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад +1

      А, да, можно)

  • @alexeyvlryazanov
    @alexeyvlryazanov Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @worthyplayer666
    @worthyplayer666 Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

    • @worthyplayer666
      @worthyplayer666 Год назад

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

    • @worthyplayer666
      @worthyplayer666 Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @Raphael-qz1zo
    @Raphael-qz1zo Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад +1

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

    • @Raphael-qz1zo
      @Raphael-qz1zo Год назад

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

  • @UrmatKasymov
    @UrmatKasymov 6 месяцев назад

    Наглядно

  • @Катерина-м3ф
    @Катерина-м3ф Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

    • @Катерина-м3ф
      @Катерина-м3ф Год назад

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

    • @Катерина-м3ф
      @Катерина-м3ф Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @Юлия-о7жй
    @Юлия-о7жй Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

    • @Юлия-о7жй
      @Юлия-о7жй Год назад

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

    • @Юлия-о7жй
      @Юлия-о7жй Год назад

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

  • @jonymartynez3881
    @jonymartynez3881 Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

    • @jonymartynez3881
      @jonymartynez3881 Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @alan-1c
    @alan-1c Год назад

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

  • @timgg9861
    @timgg9861 8 месяцев назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  8 месяцев назад

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

  • @Vyazanie777
    @Vyazanie777 Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

    • @АлександрАльхов-ц9ф
      @АлександрАльхов-ц9ф Год назад

      Та же беда 😅

    • @Corban007
      @Corban007 7 часов назад

      Проверьте раскладку клавиатуры. Есть вероятность что "С" набрано на русском!

  • @zabaluev
    @zabaluev Год назад +3

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @alan-1c
    @alan-1c Год назад

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

  • @allexallex5617
    @allexallex5617 Год назад

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

  • @dmitriys5353
    @dmitriys5353 9 месяцев назад

    +

  • @vallak1981
    @vallak1981 Год назад

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

  • @alur29
    @alur29 Год назад

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

    • @VasiliiPro1C
      @VasiliiPro1C  Год назад

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

  • @pillowanalyst
    @pillowanalyst Год назад +2

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

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

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

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

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

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