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




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

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

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

<?php // Полная загрузка сервисных книжек, создан 2026-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 не будет опубликован. Обязательные поля помечены *