Обработка «Загрузка данных из табличного документа». Пример настроек и использование.

Данный пример будет полезен программистам 1С и специалистам по «Управлению торговлей», которым необходимо автоматизировать загрузку в справочники и документы из внешних табличных документов. В частности тем, кому необходимо загрузить товары в документ «поступление товаров и услуг» из электронной накладной в формате xls.

Данный пример будет полезен программистам 1С и специалистам по «Управлению торговлей», которым необходимо автоматизировать загрузку в справочники и документы из внешних табличных документов. В частности тем, кому необходимо загрузить товары в документ «поступление товаров и услуг» из электронной накладной в формате xls.

Задача: Клиенту продавец предоставил электронную накладную в формате xls, по ней необходимо оформить поступление товаров.

Обработку можно найти диске ИТС.

Сначала нужно прогрузить справочник «Номенклатура». Выбираем «Загрузка в справочник», вид справочника «Номенклатура». На вкладке табличный документ, загружаем файл накладной из xls. На вкладке настройка, отмечаем нужные нам реквизиты: «Код», «Наименование», «Артикул». Выбираем для них режим загрузки «Искать» и сопоставляем номера колонок с табличным документом. Чтобы включить ручную нумерацию колонок, необходимо нажать на кнопку «нумерация колонок».

Отметка «поле поиска», которая напротив «Кода», предотвращает задвоение данных. То есть если, элемент с идентичным кодом, будет найден в справочнике, то новый элемент создаваться не будет, а заменятся только его реквизиты.

Для реквизита «БазоваяЕдиницаИзмерения», выбираем режим загрузки «Устанавливать» и указываем базовую единицу измерения «шт».

Особое внимание стоит обратить на загрузку реквизита «ЕдиницаХраненияОстатков», если его не загружать, то на складах не будет отображаться количество товара. Сложность в том, что эта единица хранения должна быть привязана к текущей номенклатуре. Для этого выбираем режим загрузки «Вычислять» и в колонке выражение прописываем необходимый код:

Вид номенклатуры выбирается из существующих в базе, аналогично как реквизит «БазоваяЕдиницаХранения».

Нажимаем кнопку «Загрузить».

Следующим шагом будет загрузка товаров, их количества, цены и суммы в табличную часть «Товары» документа «ПоступленияТоваровИУслуг». Для этого необходимо выбрать режим загрузки «загрузка в табличную часть». Выбрать ранее созданный документ «Поступление товаров и услуг», выбрать загрузку в табличную часть «товары».

Для номенклатуры в поле «искать по» выбираем «код», потому что в предыдущей загрузке, уникальность номенклатуры определялась по коду номенклатуры.

Реквизит «Единица Измерения» заполняется аналогично «БазовойЕдиницыИзмерения» из настроек для номенклатуры, с небольшой корректировкой кода.

Реквизит «Коэффициент» необходим, чтобы был корректный пересчет остатков на складе.

Заполнив, необходимые настройки, нажимаем кнопку «Загрузить».

6 Comments

  1. Mistral81

    Пришлите пожалуйста данный код на почту vitaliy-ilin@mail.ru На сайте он выложен в виде изображения

    Особое внимание стоит обратить на загрузку реквизита «ЕдиницаХраненияОстатков», если его не загружать, то на складах не будет отображаться количество товара. Сложность в том, что эта единица хранения должна быть привязана к текущей номенклатуре. Для этого выбираем режим загрузки «Вычислять» и в колонке выражение прописываем необходимый код:

    Reply
  2. Tolpinski
    СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные[«Наименование»]);
    БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(«шт»);
    ТекСпр = Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту(«ЕдиницаПоКлассификатору», БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры);
    
    Если ТекСпр.Пустая() Тогда
    НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    НайденнаяЕдиницаОбъект.Наименование = БазоваяЕдиницаИзмерения.Наименование;
    НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору  = БазоваяЕдиницаИзмерения;
    НайденнаяЕдиницаОбъект.Коэффициент = 1;
    НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры;
    
    Попытка
    НайденнаяЕдиницаОбъект.Записать();
    Результат = НайденнаяЕдиницаОбъект.Ссылка;
    Исключение
    Сообщить(«Не удалось записать»);
    КонецПопытки;
    Иначе
    Результат = ТекСпр.Ссылка;
    КонецЕсли;

    Показать

    Reply
  3. Scroudge

    при загрузке из таблицы в Оприходование товаров (Розница 2.2) упорно не переносится количество товара.

    Номенклатура нормально ищется и подставляется, цена и сумма — тоже, а количество — нет. Хотя анализ ни на что не ругается. такая же проблема с другой сходной обработкой ЗагрузкаДанныхИзТабличногоДокумента_УФ_v2.epf

    куда копать? подскажите!

    Reply
  4. user805034

    Здравствуйте, мне тоже интересно решение данной проблемы:

    — при загрузке из таблицы в Оприходование товаров (Розница 2.2) упорно не переносится количество товара.

    Номенклатура нормально ищется и подставляется, цена и сумма — тоже, а количество — нет. Хотя анализ ни на что не ругается. такая же проблема с другой сходной обработкой ЗагрузкаДанныхИзТабличногоДокумента_УФ_v2.epf

    куда копать? подскажите!

    Reply
  5. espero

    (4)

    (5)

    Сортировку поменяйте сперва загружается единица измерения (с формулой указанной выше), потом количество.

    Reply
  6. Saipl

    (5) Возможно вы не заполняете колонку «Количество упаковок»

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *