<?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='\
у всех работает?
И где рисунок 4 ?
Все ждут рисунка 4 😉
А что нужно, чтобы получить незапароленную обработку с читабельным исходным кодом?
(4) kirlog,
Вот тоже интересно…. Хотя, уже и не нужно:-)
Кто-нибудь попробовал? Работает? Я пока не могу, джакарту оплатили но еще не привезли, соответственно УТМа в живом виде пока нет…
Обработка не работает. Выдает ошибки при формировании запроса:
10:39:28 — Запрос справочника по ИНН 7453191902
ХМЛ = ПарсерХМЛ.СоздатьДокумент(); ХМЛ.Загрузить(ФайлОтвета); УзелA = ХМЛ.ВыбратьУзел(«A»); Попытка ЗапросИд = УзелA.ВыбратьУзел(«url»).Значение; Исключение Сообщить(«Ошибка!»,»!»); ЗапуститьПриложение(«explorer «+ФайлОтвета); Возврат; КонецПопытки; Сообщить(ТекущееВремя() + » — Ожидание ответа……»); Пока Вопрос(«Ожидание ответа(~5мин)…….»+РазделительСтрок + «ОК — Проверить входящие, Отмена — Прервать»,»ОК+Отмена»,30) <> «Отмена» Цикл
{D:РАБОТАЕГАИС!ЕГАИС.ERT(14)}: : XML document must have a top level element.
При нажатии кнопки Выбор прихода:
КомандаСистемы(«curl -X GET http://«+СокрЛП(АдресУТМ)+»/opt/out?refresh=true»+»>»+ФайлОтвета); ТЗ_Документы.Очистить(); ТЗ_Документы.НоваяКолонка(«Юрл»); ТЗ_Документы.НоваяКолонка(«Ид»,»Строка»,36); ПарсерХМЛ = СоздатьОбъект(«AddIn.XMLParser»); ХМЛ = ПарсерХМЛ.СоздатьДокумент(); ХМЛ.Загрузить(ФайлОтвета); УзелA = ХМЛ.ВыбратьУзел(«A»); Для ш = 1 По УзелA.КоличествоПодчиненных() Цикл Узел1 = УзелA.ПолучитьПодчиненныйПоНомеру(ш);
{D:РАБОТАЕГАИС!ЕГАИС.ERT(3)}: : XML document must have a top level element.
(6) bikmullina,
Не отвечает УТМ или неправильно указан адрес УТМ.
http://comp1:8080 — неправильно
Адрес должен быть вида ИМЯ_ПК:ПОРТ или IP_Адрес:Порт.
Например:
comp1:8080 — правильно
192.168.1.5:8080 — правильно
(4) kirlog,
посмотрел файл текст.txt от автора. Всё работает. Огромное спасибо.
Можно обработку целиком на natanvidja@gmail.com ПЛИИЗЗЗ. Скину на телефон отправителю 300 р. Покупка Абонемента для скачивания 850 р (((( Дорого
Если вылезает ошибка типа
{D:РАБОТАЕГАИС!ЕГАИС.ERT(3)}: : XML document must have a top level element.
Вероятно всего не удалось загрузить приходящий ответ в xml файл. Помогает открытие 1с 7 с Админскими правами.
(8) Спасибо!
Проверила адрес, всё правильно написано. Быть может у нас слишком старая версия 1с 7.7. Скажите, пожалуйста, на каком релизе 1С 7.7 ТиС проверялась данная обработка.
После запуска от имени Администратора новая ошибка:
http://192.168.100.249:8080/opt/out/ReplyPartner/24
11:35:06 — Запрос справочника по ИНН 7453191902
11:35:07 — Ожидание ответа……
11:35:37 — Проверка входящих
11:35:50 — Проверка входящих
11:36:21 — Проверка входящих
11:40:52 — Проверка входящих
11:40:54 — Получение данных
КомандаСистемы(«curl -X GET «+СправочникЮрл+»>»+ФайлОтвета); ПарсерХМЛ = СоздатьОбъект(«AddIn.XMLParser»); ХМЛ = ПарсерХМЛ.СоздатьДокумент(); ХМЛ.Загрузить(ФайлОтвета); Узел1 = ХМЛ.ВыбратьУзел(«ns:Documents»); Узел2 = Узел1.ВыбратьУзел(«ns:Document»); Вид = Узел2.ПолучитьПодчиненныйПоНомеру(1).Наименование; Таб = СоздатьОбъект(«Таблица»); Если Вид = «ReplyClient» Тогда Узел3 = Узел2.ВыбратьУзел(«ns:ReplyClient»);
{D:РАБОТАЕГАИС77!ЕГАИС.ERT(16)}: : Ошибка исполнения метода
(12) bikmullina,
После выполнения обработки файл ответа «reply.xml» находится в каталоге временных файлов(КаталогВременныхФайлов()). Нужно проверить структуру XML
(11) bikmullina,
от релиза ТиС не зависит, должно работать с любой конфигурацией
Добрый день!
Вчера настроил УТМ, попробовал, работает…. Но, частично… Запросы отправляет, квитанции получает, ожидаем ответа… Через ~5 минут приходит ответ, а дальше — распарсить его не получается, ХМЛ.ВыбратьУзел(«ns:Documents»); — ошибка исполнения метода, как в посте 12 от bikmullina… Файл ответа(во вложении к этому сообщению) просматриваю — вроде все нормально, во всяком случае, я косяков в структуре не вижу(может чего-то недопонял???)…
Для отладки написал простенькую обработку, по анализу готового файла ответа, чтобы лишний раз не терять время на ожидании ответа и не мучать УТМ…
Показать
Но, это пока понимания «а чего ему в XML ответе не нравится — ???» не добавило… Вылетает там-же, на первом же «ВыбратьУзел»… Если не трудно, посмотрите пожалуйста файлик, что-бы было хоть понятно, в какую сторону копать — файл кривой(или у меня руки?:-( ), что-то не так в коде обработки, в части парсинга, или вообще проблема в чем-то другом…
PS Сам УТМ вроде нормально работает, во всяком случае через сайт Егаисик.рф мне удалось и ТТН посмотреть, и справочники…
Похоже проблема в XML парсере. Вот мой V7PLUS.dll.
Поменял dll… Результат тот-же.
Для чистоты эксперимента в процедуре «ПриОткрытии()» прописал полный путь к длл, чтобы исключить вариант, что она не оттуда подгружается. Та-же ошибка…
В отладчике уже все перепробовал, вытащил все что смог — скриншот во вложении. Уже не знаю, куда и копать…
PS Операционка XP SP3 — может быть причиной некорректной работы парсера? УТМ стоит на машинке с семеркой, но на ней нет 1С. Может есть смысл установить, и перенести эксперименты туда?
Попробовал. Установил «чистую» 1С, создал пустую базу, закинул в нее Вашу длл, и тестовую обработку, ничего не изменилось:
{C:TESTXMLПРОВЕРКАРАБОТЫС_XML.ERT(9)}: : Ошибка исполнения метода
та же ошибка…
(18) M_W_W, возможно дело в сертификате. Вероятно УТМ не берет информацию о номенклатуре. Смотрели, есть у Вас во временном каталоге файлы WAYBILL…xml ?
(18) M_W_W,
предлагаю проверить такой механизм:
Для Сч=1 По ХМЛ.КоличествоПодчиненных() Цикл
Узел1=ХМЛ.ПолучитьПодчиненныйПоНомеру(Сч);
Сообщить(Узел1.Наименование);
Если Узел1.Наименование=»oref:ClientRegId» Тогда
РегИд =Узел1.Значение;
ИначеЕсли Узел1.Наименование=»oref:KPP» Тогда
КПП=Узел1.Значение;
КонецЕсли;
КонецЦикла;
(18) M_W_W,
ВерсияАнализатора должна быть 2.0
ПарсерХМЛ = СоздатьОбъект(«AddIn.XMLParser»);
Сообщить(ПарсерХМЛ.ВерсияАнализатора);
(18) M_W_W,
еще вариант
regsvr32 /u msxml4.dll
regsvr32 msxml3.dll
(20) roman8115,
Узел1.Наименование = «Documents» (в смысле, в табло выводит — Documents )…
А должно быть, как я понимаю — «oref:ClientRegId»
Вот собственно и ошибка, поэтому и не парсит… Получается всетаки структура самого хмл?
Хотя, зрительно, вроде правильный, во всяком случае на глаз ошибки не видно…
Вобщем то, это было видно и в отладчике, скриншот приложенный к сообщениию(17), так же как и версия анализатора…
Щас еще попробую с регистрацией длл-ок поиграть, но похоже причина не в этом…
Ура! Заработало!!! 🙂
Как это ни странно:
но причина была все-таки в этом… Удивительно, парсер работал, но как-то криво… Я бы понял, если-бы совсем не работал, но так…
Спасибо огромное за помощь! Я думаю, этот опыт всем пригодится, не у одного меня такая проблема…
Здравствуйте, вопрос не совсем по обработке
http://192.168.10.106:8080/opt/out?refresh=true «страница не найдена»
подскажите если 1С в терминале, делаю адрес УТМ например (192.168.10.106:8080)
На компе где УТМ (192.168.10.106 ) что-то нужно расшарить или ставить Апач?
Если просто запускаю в 1С по сети где УТМ обработку то все ОК, как из терминала запустить? выходит ошибка:
ХМЛ.Загрузить(ФайлОтвета);
{\SERVERЕГАИС.ERT(164)}: : XML document must have a top level element.
В браузере
на терминале установлен cURL?
(26) Да
Ну что, выглядит довольно уверенно. Интересно, долги писали?
(25) а как вы адрес утм сделали не 127.0.0.1 в терминале естественно.
та же проблема, работаем все через терминал.
Может не совсем ясно выразился, попробую еще раз
Сервер win2012 (виртуализирован) в 1C работаем в терминале — ip 192.168.10.100, curl установлен, УТМ -нет
машина с УТМ-1 win7 — ip 192.168.10.106 curl установлен
Если захожу на машине с УТМ-1 в 1С не через RDP, а просто, ч/з сеть, то в обработке значение АдресУТМ (localhost:8080), попробовал загрузить данные своей организации, все сработало ОК.
В принципе можно и так работать, но у нас опт и розница и еще 2 разных фирмы (пиво/крепкий алкоголь) все на одном сервере, соответственно УТМ будет штук 10, а работать все на сервере в одной 1С, так вот если обработку открываю в терминале 1С и прописываю в ней АдресУТМ 192.168.10.106:8080, то не работает, но тут не обработка конечно виновата. Вопрос как правильно машину с УТМ настроить.
(30) вы хотите обращаться через рдп к УТМ машины, которая подключается? тоже интересует этот вопрос!
хотел еще спросить по каком критерию вы объединили ссылки на файлы ТТН и СправкуБ?
Через rdp тоже заработало (брандмауэр отключил на УТМ), но вышла ошибка как в 12, 18 посте, сейчас до понедельника
(32) aximo,
В ТТН есть рег.номера справок, делается запрос к УТМ с указанием номера справки, и получается в ответе ссылка.
(34) понятно, т.е вы командой рефреш смотрите, что лежит в утм, затем, выбираете все ттн, парсите ее, получая номер справки б, а каким запросом получаете ссылку на справку????
И еще… Не совсем понятно зачем технически справка б вообще нужна, в ттн же вся информация имеется!
(24) M_W_W,
Расскажи точно, как добился, что у тебя заработало…
У меня та же проблема.
Узел1 = ХМЛ.ВыбратьУзел(«ns:Documents»);
{D:ЕГАИСОБРАБОТКИЕГАИС.ERT(288)}: : Ошибка исполнения метода
Здесь все перечитал и переделал. Не помогает.
Файл с УТМ получаеться и лежит во временной папке.
Хоть свой парсер пиши блин…
(36) У меня такая же проблема,
сделал обработку в ней:
Сообщить(«ВерсияАнализатора — » + ПарсерХМЛ.ВерсияАнализатора);
Сообщить(«ВерсияБазовогоАнализатора — «+ПарсерХМЛ.ВерсияБазовогоАнализатора);
так если ВерсияБазовогоАнализатора =3 то все нормално, пробовал с разных компов, а на сервере ВерсияБазовогоАнализатора =4, там не работает
Сервер 2012r2 там пробовал regsvr32 /u msxml6.dll
regsvr32 msxml3.dll
все равно пишет ВерсияБазовогоАнализатора =4
Помогло C:WindowsSysWOW64
egsvr32 /u msxml4.dll
C:WindowsSysWOW64
egsvr32 msxml3.dll
(37) HSV,
Написал батник перерегистрации парсера.
Все сразу заработало.
Версия базового анализатора должна быт 3.
Спасибо!
(38) HSV,
Да, мне тоже это помогло, не знаю, в других программах где нибудь вылезет необходимость 4-того парсера, или нет… Это судя по всему косяк v7plus, что не хочет с более современным парсером работать.
как проверить установлен curl или нет?
и как его установить если его нет?
(42) art010,
Скачивешь с сайта произзводителя cUrl и кидаешь exe-шник и dll-ку в windowssystem32
и все работает…
Для документа XML должен существовать документ более высокого уровня. Связано с curl ?
(44) art010,
ДА…
вот cUrl 32/64
Спасибо. заработало.
Будет доработана возможность создания прихода на основании данных из ЕГАИС?
Будет обработка для взаимодействия по опту для 7.7? Отправка ТТН и все что требуется?
(46) art010,
Но тут уж как автор захочет.
Если сделает, то будет.
А мне однозначно все это надо — придется писать…
Отдельное спасибо автору за идею и код…
(46) art010,
все будет
(48) roman8115,
А сроки… Уже поджимает…
(49) V-A-V,
А какие сроки Вас поджимают? 01.01.2016?
Требуется подтверждать приход, или формировать акты разногласий…
Это можно делать уже сейчас, хоть этой обработкой, хоть еще кучей способов…
А о загрузке накладных из ЕГАИС, в нормальном, удобном виде, можно пока забыть…
В ЕГАИС нет ШтрихКодов EAN-13, а какая без них загрузка? Торговать то Вы будете не по кодам ЕГАИС, и не по акцизкам,а по обычным ШтрихКодам… Представляете, сколько накосячат наши любимые пользователи, если мы загрузим накладные в таком виде,и дадим ввод ШК им на откуп?
Нет, конечно можно добавить в номенклатуру код ЕГАИС, потом вручную перелопатить весь справочник, сопоставив имеющуюся номенклатуру со справочниками ЕГАИС… Но, представляете, какой это труд, и какое поле для ошибок… Я долго думал, как максимально упростить эту процедуру, но, пока все упирается в то, что «а кто это все делать будет?» Да даже если это разово и проделать, то, как только будет появляться новый товар, так проблемы будут возникать снова…
Вобщем, лично я для себя решил пока подождать, может что-то поменяется в лучшую сторону. Пока, «ужасы 01.01.2016» особо не пугают, мы к ним готовы.
(50) M_W_W,
Мы оптовики и нам на горло наступают производители.
Код товара ЕГАИС я однозначно буду заводить.
Ну и придется девочкам его ручками поддерживать…
Мы с 01.01.2016 должны уже ТТН по покупателя выгружать.
На сей момент должны подтверждать факт прихода…
Да и вообще не люблю тянуть, как бухи до последнего.
Лучше пущай лежит готовое…
(50) M_W_W, по текущему состоянию дел розница с 1.07 будет обязана сканировать каждую марку.
http://forum.fsrar.ru/viewtopic.php?f=33&t=35128&start=20) забивать алккоды можно сразу при приёмке с помощью двумерного сканера.
из марки легко вычисляется егаисовский 19 значный алккод. (
всё идёт к тому, что еан-13 и не нужен.
более того, еан-13 может совпадать у разных производителей, а алккод — нет.
Ребята, Вы в техническом плане сильно подкованы. Почему не отпишитесь в РАР с предложениями: как надо делать, чтобы нормально работать. Например, привязать еан-13 к УТМ (справочная информация получится). Все-таки не так часто еаны совпадают с другим товаром.
Судя по тому как они написали Декларант Алко, ничего хорошего от них ждать нельзя!
Cамая опа светит рознице:
1.Производитель отгружает оптовику продукцию указывая диапазон спец. марок,
2. Оптовик отгружает рознице, также диапазоном.
3. Розница с 01.07.16г реализует каждую спец. марку.
4. Если не производить контроль в рознице на стадии прихода (соответствие фактического прихода диапазону) то при пересорте на двух предыдущих этапах (производитель-оптовик-розница) розница постоянно будет получать плюхи за реализацию несуществующего товара.
Следовательно, необходимо «автоматизировать» фактический приход с обязательной сверкой марки с диапазоном указанным в УТМ, чтобы выявлять пересорт. Или в УТМ нет инфы по диапазону? (Извините, я не в курсе, что там есть)
Какую инфу содержит ШК спец марки?
Как быть с остатками? Можно создать документ для переучета (с применением шк с марки) для заполнения в карточке товара кода АП, инфы о производителе и т.д?
Поможете?)
Люди добрые, пришлите ТТН на ИНН 2627019438 КПП263245001. Мои поставщики спят(
Нет там никаких диапазонов. Есть только код, наименование, количество, цена, номер справки А, номер справки Б. Ничего там больше нет, по чем можно было-бы идентифицировать принадлежность марки конкретному поставщику/производителю.
Как тогда РАР собирается отслеживать конкретную продукцию от производителя до рта потребителя (ведь это и есть весь смысл внедрения ЕГАИС с долбаным УТМ)? Только по номерам справок А и Б? Они ведь собираются прийти к предметно-количественному учету на всех этапах. Или я опять что-то не догоняю?
ответов нет в УТМ. У меня все правильно работает?
(56) art010,
Ну, что ты мучаешься. Есть хороший новый форум
http://www.egais2016.ru
Тама очень много хороших разъяснений и по твоим вопросам.
Задавай вопросы и ребята с РАРА и ЕГАИСА тебе ответят.
Плюс есть еще пара видеоконференций от ЕГАИСА.
Смотреть их нудно и долго, но можно извлечь нужную инфу для себя.
Скажу только, что ребята делают так как им надо и удобно, с учетом законодательства…
(53) art010,
отправил тестовую ТТН
Спасибо. Вижу ее во входящих.
Но, «выбрать приход»> в «окошке выбор строки» = пусто. Что не так?
И запросы обработка отправляет (например по своему ИНН), но ответы не приходят вообще. в out их нет
Она их отправляет с ошибкой, потому ответы и не приходят.
В процедуре ЗапроситьСправочник(), там, где передается ИНН в запрос, используйте СокрЛП(ИНН). Длина поля ИНН 12 символов, а ИНН организаций 10. Два лишних пробела в конце, «не пролазят» в шаблон. Раньше — работало. Пару дней как перестало, видимо xml схему запроса поменяли.
Интересно, а есть ли код для создания ТТН кому-либо?
По образцу АКТа. Тут универсального решения нет, у каждого свои реквизиты справочников/документов, даже если из типовой ТИС выгружать, все равно учет в разрезе справок А и Б как-то надо вести
(59) art010,
обновил обработку
Убрал лишние пробелы из запроса в соответствии с новыми требованиями.
(64) roman8115, Вы про пробелы в запросе справочников? или еще где то изменились пробелы?
скачать не могу, нет стартов
(65) ivanov_alex,
еще были лишние пробелы в идентификаторе справки Б при отправке акта
Подскажите, пожалуйста, Такой запрос Контрагента верный?
<?xml version=»1.0″ encoding=»UTF-8″ ?>
— <ns:Documents xmlns:ns=»http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01″ xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» xmlns:oref=»http://fsrar.ru/WEGAIS/ClientRef» xmlns:qp=»http://fsrar.ru/WEGAIS/QueryParameters» Version=»1.0″>
— <ns:Owner>
<ns:FSRAR_ID>020000593500</ns:FSRAR_ID>
</ns:Owner>
— <ns:Document>
— <ns:QueryClients>
— <qp:Parameters>
— <qp:Parameter>
<qp:Name>ИНН</qp:Name>
<qp:Value>2627019438</qp:Value>
</qp:Parameter>
</qp:Parameters>
</ns:QueryClients>
</ns:Document>
</ns:Documents>
(67) art010,
проверить можно через УТМ
(68) roman8115,
Спасибо. разобрался. Неделю долбался, чтобы понять что JaCarta глючит сука.
Ключи записываются,УТМ запускается, Запросы уходят, а ответы не заходят.
100 раз переустанавливал эту тварь. В итоге, Поменял ключ и все заработало.
Народ, третий день бьюсь с этой ошибкой
Узел1 = ХМЛ.ВыбратьУзел(«ns:Documents»);
{D:ЕГАИСОБРАБОТКИЕГАИС.ERT(288)}: : Ошибка исполнения метода
Все что тут описано запускал, перезапускал — не помогает. Где копать?
открывает вроде все правильно:
<?xml version=»1.0″ encoding=»windows-1251″?>
<ns:Documents xmlns:wb=»http://fsrar.ru/WEGAIS/TTNSingle» xmlns:pref=»http://fsrar.ru/WEGAIS/ProductRef» xmlns:oref=»http://fsrar.ru/WEGAIS/ClientRef» xmlns:ns=»http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01″>
<ns:Owner>
<ns:FSRAR_ID xmlns:ns=»http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01″>5678921</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:WayBill>
Если стираю ns:
Узел1 = ХМЛ.ВыбратьУзел(«Documents»);
Узел2 = Узел1.ВыбратьУзел(«Document»);
то выдает уже
Узел2 = Узел1.ВыбратьУзел(«Document»);
{C:USERS1DOWNLOADSЕГАИС ПРИХ.ERT(309)}: Значение не представляет агрегатный объект (ВыбратьУзел)
т.е. Узел 1 присваивается
(70) red777,
Смотри выше.
Во всем виноват микросовтовский парсер и v7plus.dll
Да вроде все поменял уже..
«ns:Documents» — так все и должен узел называться? Мучить парсер?
Товарисчи, зарезюмируйте плиз, как победить ошибку: Для документа xml должен существовать документ более высокого уровня?
Я уже и закомметил команду curl, вручную в cmd сохранил запрос на справоч контрагента в файл reply.xml
попытка этот файл записать в xml-parser = ОШИБКА =( =( =(
Версия базового анализатора на 3 никак не меняется.. 4 и все..
на сервере верчия 3.0 Но пробиться на мой ПК к транспортному модулю пока не получается..( порт открыть)
(74) red777,
Порт на УТМ должен быть открыт и винда настроена для доступа.
Вверху есть батник, который разрегивает все версии парсера и регит третью.
Если третья не стоит, то ее надо поставить.
(73) nikanat,
в какой момент ошибка?
(73) nikanat,
Что Вы в файл сохранили? Запрос, или ответ УТМ-? Покажите файл reply.xml, что Вы там сохранили?
<title>Error 500 Server Error</title>
весь день такую табличку выкидывает
может чтото не так делаю?
запрос контрагента если что
(76) roman8115, по отладчику было в момент записи файла xml в объект-парсер для разбора файла.
выше по сообщениям архивчик с cUrl-ом помог) распаковал содержимое в system32 — ошибка исчезла) мож у меня версия curl-a была кривая )
(77) M_W_W, а вот насчет где запрос а где ответы до сих пор точно не отличаю)) надо разобраться что к чему… in и out вообще др на др похожи: и там и там какието ссылки толи на документы толи на запросы…. толком не отличаю покачто..(
(78) ivanov_alex,
А если просто к УТМ из браузера обратиться(просто в адресную строку адрес с портом ввести), свою домашнюю страницу выводит?
Роман здравствуйте, можно ваш контакт на Vladi_Mir_@mail.ru
(81) M_W_W, ошибка была изза версии утм, обновил и работает
кто может отправить тестовую накладную на фсрар_ИД 020000357295
ИНН/КПП 7447219042/740445002
спасибо!
Доработал процедуру для Номенклатуры. Вынимает Алкокод из pdf-417 в реквизит КодВЕГАИС. (записывает данные сканера в ту ячейку, где курсор находится)
Для первоначальной обработки номенклатуры.
Может кому пригодится.
Не ругайте сильно если очень криво, Я только учусь)
Был косячок, исправил
Если кто-нить допишет так, чтобы по составу кода определял в какой реквизит записывать, ваще будет хорошо)
Люди добрые, и мне сбросьте по несколько накладных на
инн 2627019438
кпп 263245001
кпп 263232001
ИНН 262700251448 ИП
,
пожалуйста.
Заранее благодарен.
Осталось обкатать 1с7.7 с ЕГАИС (комплексная доработка опт+розница) и будет готовый .md)
Товарищи. подскажите механизм как грамотно сделать массовую отправку ТТН исходящих в ЕГАИС?
На сколько я понимаю, запросом можно отправить файл только одного наименования TTN1.xml
Спасибо!
(86) aximo,
Может журнал документов, и запрос по каждой строке если нет идентификатора отправки?
У меня так по контрагентам запросы отправляет. Правда по справочнику, а не по журналу.
(63) roman8115, А можно обновленную обработку выложить?
И еще вопрос пробую запросить партнера вываливает ошибка
<error>org.xml.sax.SAXParseException; cvc-pattern-valid: Value ‘ 0200001448’ is not facet-valid with respect to pattern ‘[0-9]+’ for type ‘FSRARIDType’.</error>
В чем может быть проблема.
(99) alisa_vv, новее нет
(99) alisa_vv, пробел в начале ИНН мешает, перед выгрузкой нужно либо программно убирать пробелы, либо указывать данные ИНН без пробелов.
alekseev genady (99)
вместо
Текст.ДобавитьСтроку(«<wa:ACTNUMBER>» + ПреобразоватьСтрокуВУТФ8(ПриходНомерДок) + «</wa:ACTNUMBER>»);
сделай так
Текст.ДобавитьСтроку(«<wa:ACTNUMBER>» +ВремяДляЕГАИС(«:»)+ «</wa:ACTNUMBER>»);
где
Функция ВремяДляЕГАИС(Раздел)
ЧЧас=»»;
ММин=»»;
ССек=»»;
ТекущееВремя(ЧЧас,ММин,ССек);
Возврат «»+Формат(Число(ЧЧас),»Ч(0)2.0″)+Раздел+Формат(Число(ММин),»Ч(0)2.0″)+Раздел+Формат(Число(ССек),»Ч(0)2.0»);
КонецФункции
и будет тебе СЧАСТЬЕ ))
Здравствуйте!
При попытке:
11:14:46 — Запрос справочника по ИНН
{D:1CBASEMAGAZIN1EXTFORMSЕГАИС_ПРИХОДЫ.ERT(14)}: : Для документа XML должен существовать документ более высокого уровня.
(156) glavbuh70, Вот у меня тоже самое
(156) glavbuh70,
Нужно добавить функцию как в 121 и прописать в процедкре таким образом:
Узел1 = ПолучитьУзел(ХМЛ,»ns:Documents»);
Узел2 = ПолучитьУзел(Узел1,»ns:Document»);
и далее по аналогии заменить ВыбратьУзел на данную функцию.
у меня при копировании что-то прилепилось не то вот и пишу теперь про ошибку, которой в исходном тексте и нет (boundary = getrandomstring(30);), а у меня есть (( boundary = getrandomstring<a rel=»noindex,nofollow…….
да, невнимательность ))
ТИС 941 релиз, пытаюсь выбрать приход, ошибка:
КомандаСистемы(«curl -X GET http://«+СокрЛП(АдресУТМ)+»/opt/out?refresh=true»+»>»+ФайлОтвета); ТЗ_Документы.Очистить(); ТЗ_Документы.НоваяКолонка(«Юрл»); ТЗ_Документы.НоваяКолонка(«Ид»,»Строка»,36); ПарсерХМЛ = СоздатьОбъект(«AddIn.XMLParser»); ХМЛ = ПарсерХМЛ.СоздатьДокумент(); ХМЛ.Загрузить(ФайлОтвета); УзелA = ХМЛ.ВыбратьУзел(«A»); Для ш = 1 По УзелA.КоличествоПодчиненных() Цикл Узел1 = УзелA.ПолучитьПодчиненныйПоНомеру(ш);
{C:USERSVDOWNLOADSЕГАИС ПОД 77.ERT(3)}: : Для документа XML должен существовать документ более высокого уровня.
(84)(84) art010, Ещё как пригодится! Спасибо!
(84) art010,
У меня вот какая странность происходит: адаптировал я Вашу обработку, так что теперь у меня штрихкод сканируется правильно, я проверил.
Но вот какую странность я наблюдаю: когда сканирую код в ОС, он весь из заглавных букв и цифр состоит. Когда сканирую в 1С, в текстовый файл, некоторые символы в нижнем регистре, некоторые — в верхнем.
При этом, когда прогнал Вашу функцию через отладчика, оказалось, что в неё, в функцию, передаётся штрихкод полностью в верхнем регистре. Это только у меня такие странности? Драйвер сканера на этом компьютере не установлен.
Кроме того, заметил, что если выбрана английская раскладка, штрихкод сканируется английскими буквами, если же русская — русскими, соответствующими английским на тех же клавишах. Это я обошёл легко, написав функцию для замены символов английскими, а заодно — и в верхнем регистре. Тем не менее, удивительно это.
Как бы там ни было, Ваша обработка мне очень помогла, спасибо ещё раз!
(234) makus,
Главное, что работает)
Рад был помочь.