Загрузка из Эксель-таблиц (вер.1). Универсальная и удобная программа.




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2025-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. Angeros

    Вот это серьезный подход. Неужели еще и бесплатно?

    Reply
  2. RomikSh

    В том виде, в котором она здесь или на сайте — программа бесплатная, если сами с ней разберётесь, то пользуйтесь, пожалуйста. Коды открыты, при необходимости всё можете доработать. Этой программе почти пять лет — проверена на множестве загрузок.

    Reply
  3. itar59

    Отличная работа!

    Reply
  4. RomikSh

    Спасибо!

    Reply
  5. Yashazz

    Опять com, или через ADO?

    Reply
  6. napan

    Спасибо автору, полезная вещь, думаю многим пригодиться в архивчик себе записал. Зачет!

    Reply
  7. RomikSh

    (5) Yashazz,

    COM-OLE

    программа старая, на тот момент когда её делал было популярно OLE. И ещё есть нюанс — подключаться к ADODB.Connection для Экселя разных версий, нужно с разных объектов — не совсем удобно (может, я что путаю, поправьте).

    Reply
  8. gorloom99

    Вешь незаменимая можно даже 1с ником не быть) если она есть !

    Reply
  9. RomikSh

    В чём отличие обеих моих программ — в том что «Универсальная загрузка из Эксель-таблиц» может загружать «Цены номенклатуры» с поиском только по Наименованиям товаров, а «Загрузка прайс-листов из Экселя» загружает тоже «Цены номенклатуры», но поиск производит по справочнику «Номенклатура» и регистру «Номенклатура контрагентов», при этом как по Наименованию так и по Полному наименованию, с разными комбинациями поиска.

    Reply
  10. bulas

    Тема и сейчас актуальна. Тоже есть подобная работа. Но подключение к файлам иксел в 8.0 и 8.2 отличается. Зачет — пусть тема «иксел + 1с» продолжается.

    Reply
  11. alcazar1888

    пишет код и наименование пустое ? где искать

    Reply
  12. RomikSh

    (11) alcazar1888,

    Напишите, пожалуйста, полный текст сообщения…

    Reply
  13. pannamara

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

    Reply
  14. KliMich

    Грамотно! Спасибо!

    (13)pannamera,

    поддерживаю. Быбо бы здорово привязать загрузку с неавтоматизированной торг. точки.

    Reply
  15. pannamara

    {Форма.Форма.Форма(61)}: Ошибка при вызове конструктора (COMОбъект)

    ОбъектExcel= Новый COMОбъект(«Excel.Application»);

    по причине:

    Недопустимая строка с указанием класса

    Вообще не получается предпринять никаких действий, подскажите в чем проблема?)

    Reply
  16. opiumdx

    Спасибо!

    Reply
  17. RomikSh

    (13) pannamara,

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

    Такой вариант, как правило, реализуется в не универсальных обработках — слишком много нюансов при создании каждого конкретного вида документа в каждой конкретной конфигурации.

    Reply
  18. RomikSh

    (15) pannamara,

    MS Excel какая версия?

    корректно установлен? функциональность не ограничена лицензией?

    Reply
  19. alcazar1888

    ексель 2007 полностью рабочий

    Reply
  20. Kohmar

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

    Reply
  21. alcazar1888

    не работает говорит несовместима версия

    Reply
  22. RomikSh

    (21) alcazar1888,

    Обработка сохранена под версией 1С:Предприятия 8.2.14.533, под более ранними версиями, в том числе 8.2.13 может не открываться, нужно один раз её открыть в Конфигураторе

    Reply
  23. bazcom

    полезная вещь

    Reply
  24. Масянька

    полезная вещь,нормуль

    Reply
  25. RomikSh

    Спасибо! ))

    Reply
  26. ulas

    Если бы могла создавать отдельные документы списком — то было бы то что надо.Хотелось бы ПКО на основе данных из ехеля — списком и датами.

    Reply
  27. ulas

    {Форма.Форма.Форма(75)}: Поле объекта не обнаружено (Справочник1)

    Док = Справочники.Справочник1.ПолучитьФормуСписка();

    Reply
  28. ulas

    Т.е вообще не открывается БП 8.2. 2,0.25.5

    Reply
  29. RomikSh

    (27) ulas,

    Проверил все модули обработки, не могу найти в тексте такую строку, это в файле скаченом с этого сайта или с моего?

    Reply
  30. kiros

    Спасибо, будем пользоваться.

    Reply
  31. romansun

    если бы еще можно было писать запросы…

    в общем, полезность подобных обработок я бы выразил для себя в следующих возможностях (такое миниТЗ на разработку желающим):

    — таблицы произвольной структуры с приведением ссылок

    — загрузка через ADO

    — загрузка нескольких таблиц с возможностями писать к ним запросы тут же во встроенной (или открываемой) консоли запросов с выводом «запросного» результата

    — возможность загружать данные из результирующие «запросной» таблицы в справочники, документы с той или иной степенью автоматизации

    — возможность сохранять загруженные данные в файл (просто в виде тз)

    На практике, во время эксельных миграций, часто бывает некоторое сборище xls-файлов, которые надо собрать воедино в некую общую структуру и, как минимум, протестить на всякие дубли, пропуски в данных, нарушения логической целостности и прочий мусор.

    Как максимум, подобные собранные, перегруппированные и оттестированные данные как раз и заливаются в документы, справочники.

    Reply
  32. RomikSh

    (31) romansun,

    такие планы есть, работаем…

    Reply
  33. n949eo

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

    Reply
  34. napan

    Спасибо !

    Полезная штука, очень понравилась, буду юзать!

    Автору зачет.

    Побольше таких

    Спасибо большое

    Reply
  35. RomikSh

    (33) n949eo,

    Нет, для синхронизации самая удобная вещь — это распределенная база.

    Reply
  36. Sirena

    возможно ли с помощью данной обработки грузить документы с табличной частью или она подходит только для загрузки справочников? Чем она отличается от стандартной обработки Загрузка табличного документа?

    Reply
  37. RomikSh

    (36) Sirena,

    Можно загружать табличные части, последняя версия для 8.2 позволяет загружать любую таблицу документа, ранние версии (для 8.1 и 8.0 с моего сайта) могли только таблицу Товары. Также можно зарегистрировать как внешнюю печатную форму и открывать из кнопки Печать в документе (для удобства).

    Отличие от обработки с диска ИТС:

    + можно выбирать какие строки загружать,

    + настройки сохраняются в файл,

    + таблицу перед записью в базу можно отредактировать

    — нельзя указать значение для подстановки, нужно создать дополнительную колонку и заранее её заполнить в экселе

    — не работает с бух.счетами и субконто

    Reply
  38. Sirena

    (37) спасибо за такой подробный ответ, буду смотреть Вашу обработку!!!!

    Reply
  39. dakinder

    Спасибо!

    Reply
  40. IrinaYr

    Спасибо! Очень нужная и полезная вещь.

    Reply
  41. Alexey26

    Отличная программа! Спасибо.

    Reply
  42. alcazar1888

    можно рассказать как закурзить 3 позиции цен в номенклатуру по порядку

    Reply
  43. RomikSh

    (42) alcazar1888,

    посмотрите здесь, этот вопрос обсуждался — Форум zronet.ru (загрузка цен)

    Reply
  44. AlexO

    а что значит — OLE был популярный?

    какие объемы вообще грузились за раз, если через OLE?

    Reply
  45. RomikSh

    (44) AlexO,

    максимальный объём таблицы был около 60 тыс. строк — список контрагентов разбили на три таблицы, не позволяло ограничение в 64 тыс.строк, грузилось почти 7ч каждую таблицу.

    Reply
  46. OlegrVasil
    RomikSh пишет:

    (42) alcazar1888,

    посмотрите здесь, этот вопрос обсуждался — Форум zronet.ru (загрузка цен)

    Спасибо за ссылку. очень вовремя.

    Reply
  47. karen0602

    Добрый день!

    Есть задача загружать из Экселя картинки!

    Сам реализовал эту задачу сахраняя файл экселя как веб файл и с появившейся папки беру картинки!

    Как можно напрямую брать из экселя картинки? Если есть идея подскажи пожалуйста!?

    Reply
  48. napan

    Супер! Реально круто, мне очень помогла

    Автору зачет и огромное спасибо.

    Reply
  49. RomikSh

    Исправлена ошибка:

    Ошибка при вызове метода контекста (СодержитТип)

    возникающая при загрузке таблицы, если наименование одного из столбцов совпадало с именем реквизита загружаемого справочника, ошибка была только в версии от 18.10.2011г. в более ранних версиях её не было.

    Reply
  50. ron1

    Кажется там не хватает строчки

    Excel.Quit();

    Или что-то в этом роде 🙂

    Reply
  51. RomikSh

    (50) ron,

    строка есть, но к сожалению срабатывает она только при благоприятном окончании загрузки, тогда процесс экселя закрывается. При неблагоприятном или остановке по ошибке процесс экселя остается подвешенным.

    Reply
  52. Dethmond

    Благодарю, намного функциональнее той, что идет с ИТС

    Reply
  53. IrinaYr

    Спасибо! Полезная обработка.

    Reply
  54. Odini4ka13

    хочу запустить в КА 1.1, выходит сообщение: «Программа не смогла определить принадлежность вашей конфигурации к типовым решениям «Фирмы 1С»

    Reply
  55. necropunk

    Хорошая обработка, да. Плюс однозначано.

    Reply
  56. pol66

    Очень востребовано! Автору спасибо!

    Reply
  57. Гелла

    Спасибо! очень кстати!

    Reply
  58. serg1983

    Вещь стоящая

    Reply
  59. RomikSh

    (54) Odini4ka13,

    В конфигурации КА я не проверял, поэтому написал такое сообщение, но как мне говорили, её нужно указывать при открытии как Управление торговлей и всё будет работать, также с 1С:Розницей…

    Reply
  60. Odini4ka13

    (59)

    хорошо, я выбираю УТ программа выдаёт сообщение (см.рисунок)

    настройки проверили всё нормально

    Reply
  61. besometr

    Долго искал, но оно того стоило! ) Спасибо большое!

    Reply
  62. t1313

    В УПП 1.3 (1С:Предприятие 8.2.13.219) при заполнении табличной части Планов (продаж, закупок, производства) в поле Номенклатура идёт заполнение по Номенклатурным группам. Можно ли сделать так, чтобы заполнение происходило именно по Номенклатуре, а не по НГ? В exel-файле список номенклатуры, но обработка пытается искать эти названия в номенклатурных группах. Если такой номенклатурной группы нет, то выдает ошибку. Если такое название встречается в НГ, то подставляется именно НГ а не элемент номенклатуры.

    Reply
  63. echo77

    Для бухов и простых пользователей — самое то, но загрузка данных из табличного документа с ИТС для меня удобнее, т.к. в ней есть обработчики событий, что позволяет по произвольному алгоритму искать данные.

    Не советую никому грузить большие объемы из excel — медленно

    Reply
  64. RomikSh

    (62) t1313,

    Мой договор с 1С не распространяется на УПП, когда писал обработку, то не рассчитывал на её совместную работу с УПП. В данный момент занимаюсь версией 2, поэтому с вер.1, кроме исправления ошибок никаких доработок делать не рассчитываю (не хватит сил заниматься текучкой и двумя программками), по этой причине она в открытом доступе и с открытым кодом.

    Reply
  65. RomikSh

    (63) echo77,

    Согласен )))

    сам часто пользуюсь загрузкой данных из табличного документа с ИТС, хочу в вер.2 объединить лучшее из обеих программ…

    Reply
  66. kykysk

    Полезная штуковина

    Reply
  67. Attest

    Пригодится, однозначно +

    Reply
  68. OlegrVasil
    echo77 пишет:

    Для бухов и простых пользователей — самое то, но загрузка данных из табличного документа с ИТС для меня удобнее, т.к. в ней есть обработчики событий, что позволяет по произвольному алгоритму искать данные.

    Не советую никому грузить большие объемы из excel — медленно

    На один док работает аж бегом. Меня вполне устраивает!

    Reply
  69. <Aleks>

    При попытке загрузить данные из файла появляется сообщение:

    »

    Программа не смогла определить принадлежность вашей конфигурации к типовым решениям «Фирмы 1С»

    »

    Что делать?

    Конфигурация 1С:Предприятие 8.2 (8.2.12.75)

    В другую БД загрузилось и заработало всё.

    Нужно заполнить документ «Установка цен номенклатуры».

    Загружает инфу из файла ок.

    Но при нажатии на кнопку «Сохранить (Загрузить таблизу в ИБ)» выдает сообщение «Не указано, по какой колонке производить поиск уже существующих позиций в справочнике.».

    А как настроить?

    Reply
  70. nae

    Спасибо. Надо попробовать загрузить прайс и номенклатуру от поставщиков…. надеюсь справлюсь

    Reply
  71. RomikSh

    (70) nae,

    Для этого лучше использовать вторую обработку, загрузку прайс-листов, она и цены контрагентов сделает и номенклатуру контрагентов приведет в соответствие с экселем

    Reply
  72. <Aleks>
    RomikSh пишет:

    Для этого лучше использовать вторую обработку, загрузку прайс-листов, она и цены контрагентов сделает и номенклатуру контрагентов приведет в соответствие с экселем

    А мне нужно вбить в базу розничную цену, что б работал 42 счет корректно.

    Номенклатуру надо оставить в соответствии с БД а не екселем.

    Дошло до меня как выбирать отбор по колонке, но при выборе «Товары:Номенклатура:Наименование(Поиск)» и нажатии на кнопку «Сохранить», появляется сообщение «Значение не является значением объектного типа (Родитель)».

    Что не так делаю?

    Reply
  73. RomikSh

    (72) <Aleks>,

    если работаете в Управлении торговлей, для «розничного» склада нужно работать с Переоценкой товаров в рознице

    Reply
  74. <Aleks>
    RomikSh пишет:

    (72) <Aleks>,

    если работаете в Управлении торговлей, для «розничного» склада нужно работать с Переоценкой товаров в рознице

    [+] [−]

    Нет, работаю Бухгалтерия предприятия, редакция 2.0 (2.0.18.1)

    Прежде чем переоценивать, нужно оценить, вроде как…

    Reply
  75. <Aleks>

    Объясните по поводу ошибки, очень надо…

    Reply
  76. RomikSh

    (75) <Aleks>,

    по-поводу ошибки:

    «Не указано, по какой колонке производить поиск уже существующих позиций в справочнике.»

    при указании соответствия полей 1С — колонкам экселя для одной из колонок нужно выбрать по какому полю искать существующие позиции, например, если товары ищете по Наименованию то нужно из списка выбрать «Наименование (поиск)», тогда колонка окрасится в жёлтый цвет и будет считаться ведущей…

    Reply
  77. <Aleks>
    RomikSh пишет:

    при указании соответствия полей 1С — колонкам экселя для одной из колонок нужно выбрать по какому полю искать существующие позиции, например, если товары ищете по Наименованию то нужно из списка выбрать «Наименование (поиск)», тогда колонка окрасится в жёлтый цвет и будет считаться ведущей…

    Уже выше писал:

    »

    при выборе «Товары:Номенклатура:Наименование(Поиск)» и нажатии на кнопку «Сохранить», появляется сообщение «Значение не является значением объектного типа (Родитель)».

    «

    Reply
  78. RomikSh

    (77) <Aleks>,

    скрин ошибки можно посмотреть?

    Reply
  79. nae

    Люди!!!! Подскажите бухгалтеру: почти разобрался, но не получается иерархия….. На БП 8.2 ред2.0 хочу загрузить справочник Номенклатура/Товары/Автомат/ (наименование поставщика) У меня все валится в корень Номенклатуры.

    КодГр Код Наименование

    $ZRONET$-> $ZRONET$->00000000001 Товары

    $ZRONET$->00000000001 $ZRONET$->00000000057 Автомат

    $ZRONET$->00000000001/00000000057 $ZRONET$->00000000058 BPW

    $ZRONET$->00000000001/00000000057/00000000058 $ZRONET$->00000000059 SEGMENT-PLüAK.150 HOHL

    $ZRONET$->00000000001/00000000057/00000000058 $ZRONET$->00000000060 ANLENKUNG 433 401 003 0 150

    $ZRONET$->00000000001/00000000057/00000000058 $ZRONET$->00000000061 ANLENKUNG (VERTIKAL) 612025001

    $ZRONET$->00000000001/00000000057/00000000058 $ZRONET$->00000000062 ABSPERRHAHN 452 002 132 0 077

    Вот кусок эксел файла. Что делаю не так???!?!?!

    Reply
  80. _Тома

    Тема, которая всегда актуальна! Конфигурации меняются, а выгрузки из Excel по-прежнему актуальны! Автору респект!

    Reply
  81. OlegrVasil
    napan пишет:

    Спасибо !

    Полезная штука, очень понравилась, буду юзать!

    Автору зачет.

    Побольше таких

    Спасибо большое

    Абсолютная солидарность. Очень нужно и очень вовремя! Респект.

    Reply
  82. Osay

    Подскажите как запустить обработку в КА 1.1, выдает сообщение Программа не смогла определить принадлежность вашей конфигурации к типовым решениям «Фирмы 1С»

    Reply
  83. mirkomp

    А в УТ ред 11 будет работать? Требуется загрузить справочник номенклатуры в котором одному значению товара соответствует несколько значений штрихкода!!!

    Reply
  84. RomikSh

    (83) mirkomp,

    Нет, в Управляемых формах не работает

    Reply
  85. fiyona

    Спасибо! В тему.

    Reply
  86. dyh

    Очень удачная обработочка, мои потребности почти полностью покрывает..

    PS Допилю… )

    Reply
  87. Гость

    В УПП 1.3 (1С:Предприятие 8.2.13.219) при зaполнении табличной чaсти Планов (продаж, закупок, производства) в поле Номенклатура идёт заполнение по Номенклатурным группам. Можно ли сделать так, чтобы заполнение происходило именно по Номенклатуре, а не по НГ? В exel-файле список номенклатуры, но обработка пытается искать эти названия в номенклатурных группах. Если такой номенклатурной группы нет то выдаeт ошибку. Если тaкое назвaние встречается в НГ, то подставляется именно НГ a не элемент номенклатуры

    Reply
  88. Гость

    Спасибо !

    Полезная штука, очень понравилась, буду юзать!

    Автору зачет.

    Побольше таких

    Спасибо большое

    Reply
  89. ZorinAndrey

    {ВнешняяОбработка.ЗагрузкаExcel.МодульОбъекта(2499)}: Значение не является значением объектного типа (Родитель)

    ИмяТабличнойЧастиДокумента=СокрЛП(глоСоответствиеКолонок.Найти(ТаблицаЗагрузки.Колонки[2].Имя,»Фаил»).Реквизит.Родитель().Имя); // получим имя загружаемой табличной части документа по 3-ему столбцу

    Вопрос Выше задавали , но ответа не последовало, подскажите что не так.

    конфигурация УТ 10.3 (10.3.17.4) 1С:Предприятие 8.2 (8.2.15.294)

    Reply
  90. RomikSh

    Пришлите мне, пожалуйста, загружаемую таблицу по адресу sup@zronet.ru, и опишите какие настройки при загрузке делаете (объект загрузки, настройки полей)

    Reply
  91. VragHorosh

    Здравствуйте, существует ли возможность, с помощью Вашей обработки, создавать и заполнять оприходование ордер от товаров в УТ, ? И если существует, то Прошу связаться со мной. Спасибо.

    Reply
  92. free-lancer-2018

    Уперся в предупреждение «Не указано, по какой колонке производить поиск уже существующих позиций в справочнике»

    Дальше, хоть кол на голове обработки чеши. — НЕ РАБОТАЕТ! Ну не надо мне производить поиск уже существующих позиций, мне надо чтобы просто лепила строки в справочник!!!!!

    Обработка помогла. Спасибо автору, но она не смотрится как решение, доведенное до совершенства.

    Reply
  93. Antimyslitel

    Реально долго ждал а самому лень! спасибо огромное! Есть номер кошелька для спасибо!)))

    Reply
  94. Antimyslitel

    Но помоему под Розницу не подойдет! а почему никто не хочет сделать что то для Розницы? или на сегодня конфа в которой каждый день прибавляется более 150 наименований и позиций товаров не актуальна?

    Reply
  95. KirNest

    Подскажите, точно работает под Розницей?

    Reply
  96. oxana1

    (90) у меня выскочило такое же сообщение при попытке загрузить товары в документ Поступление товаров и услуг

    {ВнешняяОбработка.ЗагрузкаExcel.МодульОбъекта(2499)}: Значение не является значением объектного типа (Родитель)

    ИмяТабличнойЧастиДокумента=СокрЛП(глоСоответствиеКолонок.Найти(ТаблицаЗагрузки.Колонки[2].Имя,»Фаил»).Реквизит.Родитель().Имя); // получим имя загружаемой табличной части документа по 3-ему столбцу

    в 8.1 работаю с этой обработкой уже 2,5 года, файл такой же, из которого гружу в 8.1

    платформа 8.2.14.540

    проверила, с документом Реализиция товаров и услуг — такая же беда

    это очень неожиданно)

    Reply
  97. oxana1

    (90) отловила еще такой момент — ошибка появляется, если поиск Номенклатуры по артикулу или наименованию, а если по коду, то грузит нормально

    но вопрос в том, что синхронизация с поставщиком по артикулу и между другими базами тоже,

    ну или хотя бы по наименованию…

    заранее спасибо!

    Reply
  98. oxana1

    (90) если взять версию для 8.1, с которой я работаю, и конвертировать в 8.2 и попробовать загрузить в док поступление товаров и услуг, то когда в колонке жмешь Товары: Номенклатура, не появляется окно с выбором, по чему искать (по коду, артикулу, наименованию), а появляется ошибка Не указано, по какой колонке производить поиск уже существующих позиций в справочнике.

    то есть, ни старая не хочет в 8.2 работать, ни новая

    Reply
  99. oxana1

    (99) как выяснилось, по коду тоже не грузит

    методом научного тыка обнаружила, что ошибка появляется, если колонка, по которой выставляешь Поиск — не первая!

    сделала артикул первой колонкой — загрузилось

    и по наименованию тоже!

    Ура!

    но все-таки интересно, почему так:) раньше можно было грузить с любого направления

    Reply

Leave a Comment

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