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

Данный пример будет полезен программистам 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 не будет опубликован. Обязательные поля помечены *